Laravel - 1. Laravelとは

LaravelはPHPのWebアプリケーションフレームワークの1つです。Webアプリケーションの開発にはリクエスト・レスポンスの処理、ビジネスロジックの実行、データベースアクセスなど様々なプログラムが必要になります。LaravelのようなWebアプリケーションフレームワークは、それらの基盤となるプログラムを提供するので、開発者はアプリケーションの本質的な部分の開発に集中できます。

https://laravel.com/

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系がリリースされています。本テキストでは現時点のLTSリリースであるバージョン6系をもとに解説していきます。Laravelは現在もアップデートが続いています。最新バージョンのLaravelをインストールした場合、一部、利用できない機能もあるかもしれません。ご注意ください。

Laravelのドキュメント

Laravelは開発用のドキュメントも充実しています。

https://laravel.com/docs/6.x

またAPIドキュメントも参考になるでしょう。

https://laravel.com/api/6.x/index.html

まとめ

  • LaravelはPHPのWebアプリケーションフレームワークの1つ
  • LaravelはMVCモデルをベースに動作する
  • Laravelは現在もアップデートが続いている