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でデータ操作をするための実装です。モデルはテーブルにマッピングされており、テーブルの登録や取得更新などの操作を持っています。 |