こんにちは。入社1年目の松井です。
前回までの内容は下に貼っておきます!
第1回はこちらです!
第2回はこちらです!
第3回はこちらです!
今回の内容はLaravel演習です。演習の内容の前にLaravelとは何なのかについて簡単に説明します!
Laravelは、多くのWebアプリケーションの開発に使われているPHP言語で開発されたフレームワークです。そもそもフレームワークとは何なのかについて説明すると、プログラミングの作業を毎回0から書く必要がある内容を予め「枠組み」として纏められている仕組みです。その枠組みがあることで、新しいアプリケーションを作るたびに同じ機能を実装させるという手間を無くすことができます。
社内で行われたLaravel演習の内容は前回紹介したPHP演習と大差ないので、もう一度紹介しますね。演習課題はPHPと同じく「会員登録フォームの作成」です。主な実装内容は以下の通りです。
会員登録フォームの内容
- 会員登録/ログイン機能の実装
- 会員一覧機能の実装
- 会員情報変更機能の実装
- 会員削除機能の実装
PHPで苦労した内容がLaravelで簡単なコードで実現できることを体感することができました。例えばPHPでは、ログイン後のページ一つ一つにセッションをつけないと不正アクセスかどうか判別できませんでした。しかし、Laravelでは、ミドルウェアという機能を使って簡単にログインしているかどうかで処理を振り分けることができます。また、PHP演習で苦労したページネーション機能は一行で書けるようになります。下記にページネーション機能を実装するために書いたコードを抜粋します。
PHPのコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
//ここでページ数や一度に表示させる行数を制御する $total=$state->rowCount();$per_page=3; $page=isset($_GET['page'])?$_GET['page']:1; $start=($page-1)*$per_page+1; $end=$start+$per_page; $results=$state->fetchAll(); echo (($total)."件みつかりました"); $count=0; foreach($results as $row){ $count++; if($start<= $count && $count<$end){ // ここに検索結果が出てくる } } //前(次)のページに飛ぶためのリンクを出す for ($i=1;$i<=ceil($total/$per_page);$i++){ echo '<li><a href="?page='.$i. '">'.$i.'</a></li>'; } |
PHPだと複雑なコードを書かない上に多くの行数を費やしてしまいます。コードを読んだことがない人にとってはコメントが無いと何を書いているのか非常に分かりにくいと思います。
Laravelのコード
1 2 3 4 5 |
//一覧画面に遷移させるためのコード $users=$query->paginate(10); return view('home/index', ['users'=>$users]); //一覧画面でのコード {{ $users->links() }} |
このコードはPHPと比較して非常にすっきりとした印象を持てますね。Laravelだと細かい部分はフレームワーク側で処理してくれるからここまで簡単に書けるようになります。
Laravelで作成した一覧画面を下に貼っておきます。大まかな構成はPHP演習で作ったものとあまり大差ありません。
今回の内容はPHPで実装するに苦労したものがLaravelでは簡単に作れたという内容でした。
最後まで読んで頂き、誠にありがとうございました!