Laravel - 1. Laravelとは
LaravelはPHPのWebアプリケーションフレームワークの1つです。Webアプリケーションの開発にはリクエスト・レスポンスの処理、ビジネスロジックの実行、データベースアクセスなど様々なプログラムが必要になります。LaravelのようなWebアプリケーションフレームワークは、それらの基盤となるプログラムを提供するので、開発者はアプリケーションの本質的な部分の開発に集中できます。
Laravelの特徴
Laravelはモデル(Model)、ビュー(View)、コントローラ(Controller)という単位でプログラムを開発していきます。このような設計手法はMVCモデルなどと呼ばれます。
コントローラはHTTPリクエストを処理するクラスです。HTTPメソッドとアクセスされるURIの組み合わせの定義(ルーティングテーブル)に合わせてコントローラを用意します。
モデルはビジネスロジックを実装するとともに、データベースとのやりとりをサポートします。コントローラやビューからモデルを参照することで透過的にデータベースを操作できます。LaravelにはEloquentと呼ばれるORMが用意されています。
ORM(Object-Relational mapping)とはオブジェクト指向プログラミング言語とリレーショナルデータベースを関係付ける仕組みです。一般的にはテーブル上の1件のレコードを1つのオブジェクトと関連付けて操作します。
ビューはコントローラの処理結果を表現します。多くのWebアプリケーションではビューによってHTMLを返却することになります。LaravelにはBladeと呼ばれるテンプレートエンジンが用意されています。
テンプレートエンジンとはHTMLなどで作られたコードの雛形に、変数や配列、オブジェクトといったデータを組み合わせる仕組みです。テンプレートエンジンを利用することでビューの役割が明確になります。
LaravelはこのようなMVCモデルという特徴の他にも、ファサードやミドルウェア、サービスコンテナといったWebアプリケーションを効率よく開発する仕組みを提供しています。本講座ではまずはMVCモデルの流れに沿った開発方法を学習していきます。その過程でファサードやミドルウェアといった仕組みについても学びます。
Laravelのバージョン
Laravelは人気のWebフレームワークです。2020.09月時点で、最新のバージョンは8系がリリースされています。本テキストではバージョン8系をもとに解説していきます。Laravelは現在もアップデートが続いています。最新バージョンのLaravelをインストールした場合、一部、利用できない機能もあるかもしれません。ご注意ください。
Laravelのドキュメント
Laravelは開発用のドキュメントも充実しています。
またAPIドキュメントも参考になるでしょう。
https://laravel.com/api/8.x/index.html
まとめ
- LaravelはPHPのWebアプリケーションフレームワークの1つ
- LaravelはMVCモデルをベースに動作する
- Laravelは現在もアップデートが続いている