Laravel基礎知識

Laravelとは

Laravel は、MVCのWebアプリケーション開発用の無料・オープンソースPHPで書かれたWebアプリケーションフレームワークである。2011年に初版がリリースされた。

MVCフレームワーク

Laravelは、MVCフレームワークを採用している。アプリケーションをModel-View-Controllerの各機能に分けて整理し、これらのパーツを作ることで開発を行う。

Modelとは、そのアプリケーションが扱う領域のデータと手続き(ビジネスロジック - ショッピングの合計額や送料を計算するなど)を表現する要素である。

Viewとは、モデルのデータを取り出してユーザが見るのに適した形で表示する要素である。すなわち、UIへの出力を担当する。例えば、ウェブアプリケーションではHTML文書を生成して動的にデータを表示するためのコードなどにあたる。

Controllerとは、ユーザからの入力(通常イベントとして通知される)をモデルへのメッセージへと変換してモデルに伝える要素である。すなわち、UIからの入力を担当する。モデルに変更を引き起こす場合もあるが、直接に描画を行ったり、モデルの内部データを直接操作したりはしない。

ComposerとSymfonyの導入

Larravelは、プログラムの土台部分にSymfonyを導入している。SymfonyPHPの世界で古くから使われているフレームワークで、大規模な開発に多くの実績がある。

また、Laravelのインストールやソフトウェアのインストールなどは、全て「Composer」というパッケージ管理ツールを使用して行う。これにより、プログラムの管理が非常に容易になっている。

ORMやBladeテンプレート

Laravelでは、データベースアクセスに、ORMというデータベースとオブジェクト指向言語間の非相互なデータを変換するプログラミング技法を導入している。これにより、PHPのオブジェクトを扱うようにデータベースを利用できる。

また画面の表示には、Bladeというテンプレートエンジンを搭載している。Bladeとはクラスのように階層化したテンプレートエンジンで、ヘッダーやフッターなどの決まりきった共通部分は基底のテンプレート(親ビュー)に定義して、body の中だけを(子ビュー)で定義するといった使い方をする。

ルーティング

ルーティングとは、ブラウザから届いたリクエスト(HTTPメソッド+URL)に対して、コントローラーで定義したアクションを結びつける機能のことである。要は、「〇〇というアドレスにアクセスをしたら、xxxという処理を呼び出す」という関連付けを行う機能のことを指す。

このルーティングに関する情報をまとめているのが、routesフォルダである。