【2017年最新】徹底比較!PHPの人気フレームワークまとめ
PHPは、Webシステムのためのプログラミング言語として登場し、現在も多くのサービスを生み出しています。そして、Webサービスを使う上で多用されているのがフレームワークです。
今回はそんなPHPでの開発を支えている、人気のフレームワークを紹介しています。フレームワークごとに特徴が違うので、比較する上での情報として参考にしてみてください。
なお本記事は、TechAcademyのPHPオンライン講座の内容をもとにしています。
フレームワークとは
言葉の通り「骨組み」を表します。
画面の表示やデータベースへの登録といった、どのシステム開発でも必要な機能を、ある一定のルールに沿って開発が可能となるように、標準化したものをフレームワークと呼びます。
フレームワークを利用することで開発者は効率的に開発を行うことができます。
また、プログラムの品質を均一化という面からもフレームワークの役割は大きく、システム開発を行う上でフレームワークの知識と経験は必須となっています。
Laravelとは
メリット
2015年にバージョン5がリリース!今最も『旬な』フレームワーク
Laravel自体は2011年から開発が開始されていますが、日本で本格的に注目を集めるようになったのは、欧米で「2014年における最も有望なPHPフレームワークの1つ」として紹介された2013年12月ごろです。
実際にPHPの開発案件としてLaravelが出てくるようになったのは2015年ごろからで、翌年には案件の問い合わせのうち何割かはLaravelの名まえが出てくるようになりました。まさに、今が『旬な』フレームワークと言えます。
デメリット
若干敷居が高いが、今後のフレームワークの主流になる可能性を秘めている
他のフレームワークに比べると新規での開発が多く、運用されているサービスの改修案件は少なめです。Laravelを取り入れている企業も多くはないので、初心者にはまだ敷居が高いフレームワークでしょう。
しかし、最近はQiitaなどの技術的な記事も多くあげられるなどLaravelの学習環境が整ってきているため、これから本気でWebシステムの業界を目指す人にはまさにお勧めのフレームワークと言えます。
CakePHPとは
メリット
2015年にメジャーバージョンアップを遂げ3系が登場。実績と将来性のあるフレームワーク
CakePHPは2005年から存在するPHPフレームワークの大御所です。2011年にバージョンが2系になり、以降、マイナーバージョンは上がっていますが現在も2系が主流です。
しかし、2015年には3系がリリースされ、特にデータベース周りの機能が大幅に強化されています。2.4からプラグインとして追加できたmigrations機能が標準装備され、DB構造をソース管理できるようになりました。DB構造を簡単に管理、更新できるようになったことで、チーム開発の選択肢としてCakePHP3は有力です。
デメリット
一部クライアントによっては敬遠される
CakePHPは歴史がある分、いい印象を持っていないクライアントもいます。
原因のほとんどはCakePHP自身ではなく実装者個人の問題ですが、CakePHPで作られたシステムは品質が悪い(信頼できない)ということでNGが出る場合もあります。
「よく知らなくてもある程度のものができてしまう」というフレームワークの負の遺産をCakePHPは背負っているとも言えます。
FuelPHPとは
メリット
処理速度を重視した、小規模案件向けフレームワーク
FuelPHPは、「シンプルでフレキシブル」をテーマに、小規模案件向けのフレームワークです。高速な処理をテーマに掲げ、オートローダー機能により必要なクラスだけを読み込む仕組みとなっています。
開発自体の速度も重視しているのか、設定を重視しているため規約が少なく、開発者がフレームワーク独自の書き方に戸惑わないように配慮されています。
デメリット
中規模案件に使用するにはプラグインやパッケージの別途インストールが必要
例えば、FuelPHP自体はユニットテストを想定して作られていますが、実施するために必要なPHPUnitはインストールが別途必要となります。
FuelPHP自体が高速処理ということで余分な機能を初期機能から除いているため、案件の規模が大きくなってくると他のフレームワークに比べプラグインやパッケージのインストールが必要となります。
利用者が少なめ
他のフレームワークに比べ、FuelPHPは国内のシェアは多くありません。
FuelPHPを用いた開発を専門に扱うのでなければ、他のフレームワークを先に習得したほうがいいでしょう。
Symfonyとは
メリット
PHPフレームワークの先駆者
SymfonyはMVCに従った構造を持つ、フレームワークの老舗です。保守性と安定性を重視した作りとなっており、CakePHPと同じくRuby on Railsの影響を受けています。
twigを用いて可読性の高いテンプレートの作成が可能
Symfonyは、Twigというテンプレート言語を使って可読性の高いテンプレートを作成することができます。
一覧など繰り返しの処理がある個所を、次のように記述することができます。
デメリット
Symfonyでの開発案件がほとんどない
Laravelが注目を集めてきたこともあり、現在ではあまりSymfonyでの開発は盛んではないようです。
CakePHPに比べると習得難易度も高く、人口が少ないという事も要因の一つかもしれません。
Symfony自体は、MVCを学ぶ上でとても良いフレームワークなので、案件に関わらず一度は触ってみることをおすすめします。
まとめ
Rubyのフレームワークと聞くと、「Ruby on Rails」をイメージする人が多いと思いますが、PHPは状況によって使われるフレームワークが様々あります。ぜひ覚えておきましょう。
また、PHPを勉強していて、
- もっと効率的に勉強したい
- 誰かに聞きながら学びたい
- 自分でWebサービスを作りたい
と思ったことはないでしょうか。
そんな方のために、TechAcademyではオンラインブートキャンプPHP/Laravelコースを提供しています。
現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、最短4週間でオリジナルWebサービスを開発することが可能です。
独学に限界を感じている場合はご検討ください。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- 【2017年最新】徹底比較!PHPの人気フレームワークまとめ
- フレームワークのススメ
- COBOLエンジニアはPHPとRuby on Railsのどちらを学習するべき?
- 車輪の再発明を防ぐポイント!
- Phalconを使う前に知っておきたい、各機能とインストール方法
- 独学で始める!初心者におすすめのLaravel学習サイト10選
- Phalconに触れながらMVCプロジェクトの構成と構造を理解しよう
- PHP向けWebアプリケーションフレームワーク「Laravel 11」リリース
- PHP向けWebアプリケーションフレームワーク「Laravel 11.24」リリース
- PHPフレームワーク「Symfony 3.0.0」リリース