Let's start from here

Laravelとは

Laravel とは?

PHPで書かれたWebアプリケーションフレームワークでです。LaravelはMITライセンスの下でリリースされており、そのソースコードはGitHubにホスティングされています。
マイクロソフトの.NETの開発に参加していたテイラー(Taylor Otwell)氏が開発したPHPフレームワークで、2011年にリリースされました。
現在最も人気のあるPHPのフレームワークです。PHPフレームワークのSymphony(シンフォニー)を基に開発されています。
PHPの有名なフレームワークとして「CakePHP」、「CodeIgniter」、「FuelPHP」、「Zend Framework」、「Symfony」などがあります。

フレームワークとは

ビスネスでは、経営戦略や業務改善、問題解決などに役立つ分析ツールや思考の枠組みという意味で使われる言葉ですが、プログラミングでは、アプリケーションやシステムを開発するのに必要な機能が予め用意された骨組みを指します。

アプリやソフトを開発する際に以下に早くリリースできるかが大事な要素となります。必要なファイルやツールを準備してコードを1から書いていくという手法では時間がかかってしますので基本的な機能や枠組みをフレームワークとして最初から準備しておくことで効率よく開発を進められます。また、複数人での共同作業ができるようにMVCといった概念で役割を分担することもできます。

Laravelの特徴

Laravelでは、MVCモデルを採用しています。Model(データ処理)、View(画面表示)、Controller(全体の制御)の各機能に分けて整理し、これらのパーツごとに作成しながら開発を行います。
ComposerというPHPのパッケージ管理ツールを利用して、開発した機能をすぐに提供することができます。Composerを使用することでこの依存性問題を解決することができます。ComposerコマンドでライブラリAをインストールすれば、勝手に必要なライブラリB、ライブラリCもインストールしてくれるのです。
バリデーション(入力値チェック)を簡単な設定だけで自動で行ってくれる機能があるため、バリデーションの実装をする手間が省けます。
Laravelでは独自のORMである、Eloquent ORMを利用してデータ操作を行います。
ORM(Object Relational Mappping)とは、データベースのレコードをプログラミング言語のオブジェクトとして扱えるようにする仕組みです。

Eloquent ORMを使うと、データベースとModel(データ処理)を結び付けて、様々なデータ操作を簡単かつ柔軟に行うことができます。

Laravelのデメリット

Laravelは、他のフレームワークに比べ機能が豊富ですが自由度が高すぎるので統制をとるのが難しいです。プロジェクトで開発を進めるにあたっては、しっかりとルールを決めて運用しないと混乱のもとになります。他のフレームワークを使用しても同様のことがあこりますがLaravelは特に気をつける必要があります。

全てのライブラリは、コンポーサーで管理しているのでレンタルサーバで動かす場合には注意が必要となります。VPSなど比較的自由度の高いサービスのご利用環境をご用意する必要があるのとサーバ側の知識も少なからず必要になります。