【PHP/Laravel入門】基本的な使い方とサンプル集

PHPの人気フレームワーク「Laravel」の基本的な使い方とサンプル集についてまとめました。

【Laravelとは】環境構築

Laravelとは、PHPで最も人気のあるフレームワークの1つです。

Laravel5.6のシステム要件(2018年7月現在の最新版)
PHPバージョン 7.1.3以上
PHP拡張 「OpenSSL」「PDO」「Mbstrin」「Tokenizer」「XML」「Ctype」「JSON」

なお、PHPの基礎については以下ページで解説しています。

環境構築

Laravelの基礎

【ディレクトリ構成】Laravelプロジェクト

Laravelプロジェクトを作成すると、以下のようなディレクトリを構成します。

ディレクトリ 説明
app Model、Controllerなど
bootstrap laravelフレームワークの起動コード
config 設定ファイル
database DB関連(マイグレーションファイルなど)
public Webサーバのドキュメントルート
resources Viewや言語変換用ファイルなど
routes ルーティング用ファイル
storage フレームワークが使用するファイル
tests テストコード
vendor Composerでインストールしたライブラリ

【用語】よく使われる言葉の意味

用語 説明
マイグレーション 移行、移転、移住、移動、乗換などの意味。 ITではソフトウェアやシステム、データなどを別の環境に移転したり、新しい環境に切り替えたりすることを意味する。Laravelでは、データベースのテーブル作成や編集などを管理するために使用される。
マイグレーションファイル データベースのテーブル作成や編集などを管理するためのファイルで、テーブルの設計書のようなもの。
シーディング シーディングはテストデータやマスタデータなどのアプリケーション起動時に必要なレコードをコマンドで登録する仕組み。Larabelでは、「①シーダーファイルの作成」「②シーディングの実行」の順で行う。
ルーティング クライアントからのリクエストを受け付け、その内容によって処理を振り分けることです。ルーティング情報はroutes/web.phpファイルに記述します。
Controller ルーティングされてきたリクエストを受け取り、レスポンスを作成する(レスポンスがHTMLならViewに処理を依頼)。app/Http/Controllersディレクトリでコントローラを作成していく。
Blade ビューを作成するためのテンプレートエンジン。{{ $variables }}とすることで、コントローラから受け取った値を画面に出力(変数展開)できます。また@foreach($array as $elem)や@if($bool)と記述することで制御構文を使用できます。その場合、制御構文の終端は@endforeach、@endifと記述します。
ビューの継承 共通で利用するテンプレートの作成を行う。ビューの継承を利用すると効率的にViewを作成できます。親ビューはlayout.blade.phpに共通となる要素のみ記述します。
Eloquent ORM Laravelでデータ操作をするための実装です。モデルはテーブルにマッピングされており、テーブルの登録や取得更新などの操作を持っています。