WEB開発界隈の人にとって、どのPHPフレームワークがベストなのかはいつまでも議論が絶えないところですが、今回は現在世界的に大人気でこれからPHPフレームワークの主流になるであろう「Laravel」を紹介したいと思います。
他のフレームワークと人気度を比較してみる
まずはGoogleトレンドで下記のPHPフレームワークの人気度を比較してみたいと思います。
- Laravel
- CakePHP
- Symfony
- codeigniter
- FuelPHP
その結果がこちらのグラフになります。
2017年10月現在、人気度で言えばLaravel一強状態ですね。
Laravelは誕生以来ずっと右肩上がりでシェアを拡大してきて、2014年の半ばあたりで他のフレームワークを抜き去り、現時点では圧倒的な人気を誇っています。一時、大人気だったCakePHPは最近シェアを落としているみたいですね。
そもそもPHPフレームワークとは?
Laravelがなんぞやという前に、そもそもPHPフレームワークって何という方へ簡単に説明します。
PHP
PHPとはご存知の通りプログラミング言語になります。
特徴としてはHTMLに埋め込むことができ、とても習得しやすくWeb開発でよく使用されるスクリプト言語になります。開発者も多くWEB開発においてはもっともポピュラーな言語の一つと言っていいでしょう。
フレームワーク
フレームワークとは、その名の通り「枠組み」という意味合いになり、「アプリケーションの土台」なんて言われたりします。
通常システム開発をゼロからする場合、膨大な時間とコストが掛かります。また、プログラマによってコードの書き方の癖なども千差万別であり、正直効率が良いとは言えません。例えば、データの登録や編集、削除といったある程度決まりきった処理を毎回一から書くのは面倒であり非効率です。
そこで、そういった冗長的な処理の効率化や大規模開発において複数人で開発していく上での共通ルール等を明確化して、開発の効率化を実現する役目を果たすのがフレームワークになります。
なお、LaravelはMVCフレームワークというカテゴリに分類されます。
MVCフレームワークとは?
Laravelはもともと、Taylor Otwellさんという方によって開発されたフレームワークで、「Model」、「View」、「Controller」の3つに分割して実装するMVCフレームワークになります。それぞれが担当する処理は下記の通りです。
Model
モデルは、ビジネスロジックと呼ばれ、データや関数、データベースへのアクセス、また管理等のメインロジックの処理を担当します。
View
ビューは、レイアウト等主に表示領域の処理(HTML)を担当します。所謂フロントエンド部分の処理の担当ということになります。
Controller
コントローラーは、モデルとビューの間をとりもつ仲介の役目を担当します。モデルから返ってきた処理結果データをViewに渡す等の役割を果たします。
Laravelの特徴
人気が爆発しているLaravelの特徴として、まず挙げられるのは入門しやすいく習得が比較的用意であることと、利便性の良さが挙げられると思います。
Laravelの利便性の良さの一つとして自動生成機能はかなり便利な機能になります。例えば、会員サイトを作ろうと思った場合、会員登録やログイン等のAuth認証処理を実装しないといけませんが、Laravelではその機能をコマンド一発で実装することができます。これはとても強力でありLaravelを使う大きなメリットになります。
また、Laravelには「Artisan」という独自コマンドが用意されており、コマンドラインからコントローラやモデルの作成、マイグレーションの実行などできるということも大きな特徴の一つになります。
さらに、Laravelは現在世界でもっとも人気のあるPHPフレームワークであるため、ドキュメントやノウハウがたくさんあります(英語が多いですが…)。開発するにあたってこういった情報が容易に手に入るということはとても大事であり、作業の効率化にも繋がります。
なお、Laravelにもデメリットはありまして、処理速度に関してはCakePHPやCodeigniterに比べて劣るようです。
Laravelのメリット
- 学習コストの低さ
- 強力な自動生成機能
- 情報が豊富
- ライブラリが豊富
- 世界的に人気にあるPHPフレームワーク
Laravelのデメリット
- 処理速度がCakePHPやCodeigniterに比べ遅い
- 日本語ドキュメントが比較的少ない
Laravelを導入するにあたって
最後にlaravelを導入するにあたり、参考になる参考書やサイトを紹介いたします。
参考書籍
Laravel日本語サイト
https://readouble.com/laravel/5.4/ja/installation.html
Laracast
https://laracasts.com/series/laravel-from-scratch-2017
ララ帳
https://laravel10.wordpress.com/tag/laracasts/
この記事のまとめ
- 他のPHPフレームワークと比べても大人気の「Laravel」
- LaravelはMVCフレームワークになる
- 学数コストの低さや豊富な情報量がLaravelの特徴としてある