【2019年最新】徹底比較!PHPの人気フレームワークまとめ
プログラミング初心者向けにPHPの人気フレームワークを徹底比較しています。PHPのフレームワークは数多くありますが、その中でも人気のLaravelやCakePHPなど4つのフレームワークに絞り、それぞれの特徴や優位性などを解説しています。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
PHPは、Webシステムのためのプログラミング言語として登場し、現在も多くのサービスを生み出しています。そして、Webサービスを使う上で多用されているのがフレームワークです。
今回はそんなPHPでの開発を支えている、人気のフレームワークを紹介しています。フレームワークごとに特徴が違うので、比較する上での情報として参考にしてみてください。
個人的には、世の中にある全てのPHPフレームワークを紹介したいのですが、今回は実務で利用されているかどうかも含め、案件で利用される実績の高さも踏まえて、厳選してご紹介します。
なお本記事は、TechAcademyのPHPオンライン講座の内容をもとにしています。
フレームワークとは
言葉の通り「骨組み」を表します。
画面の表示やデータベースへの登録といった、どのシステム開発でも必要な機能を、ある一定のルールに沿って開発が可能となるように、標準化したものをフレームワークと呼びます。
フレームワークを利用することで開発者は効率的に開発を行うことができます。
また、プログラムの品質を均一化という面からもフレームワークの役割は大きく、システム開発を行う上でフレームワークの知識と経験は必須となっています。
Laravel(ララベル)とは
メリット
2015年にバージョン5がリリース!今最も『旬な』フレームワーク
Laravel自体は2011年から開発が開始されていますが、日本で本格的に注目を集めるようになったのは、欧米で「2014年における最も有望なPHPフレームワークの1つ」として紹介された2013年12月ごろです。
実際にPHPの開発案件としてLaravelが出てくるようになったのは2015年ごろからで、翌年には案件の問い合わせのうち何割かはLaravelの名まえが出てくるようになりました。まさに、今が『旬な』フレームワークと言えます。
私も現在PHPでの開発を行う場合、Laravelを利用する案件が多いです。
デメリット
若干敷居が高いが、今後のフレームワークの主流になる可能性を秘めている
他のフレームワークに比べると新規での開発が多く、運用されているサービスの改修案件は少なめです。
しかし、最近はQiitaなどの技術的な記事も多くあげられるなどLaravelの学習環境が整ってきているため、これから本気でWebシステムの業界を目指す人にはまさにお勧めのフレームワークと言えます。
[PR] PHPを学んで未経験から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を学ぶ上でとても良いフレームワークなので、案件に関わらず一度は触ってみることをおすすめします。
Codeigniter(コードイグナイター)とは
メリット
豊富な開発実績
軽量PHPフレームワークの中では最も開発実績があるフレームワークです。
私自身も個人的にCodeigniterでの開発実績が多いです。
これは、日本国内でPHPフレームワークが広まり始めた段階で、公式ページのチュートリアルとドキュメントのわかりやすさが高く、最も簡単に最低限のアプリケーションを実装できたという経緯があるためです。
現在でも過去にCodeigniterで制作されたシステムの改修案件も多いです。
デメリット
ライセンス問題によるユーザー流出
Codeigniterはバージョンを1→2→3と変遷してきました。
しかし、このバージョンアップは、機能を追加する以外の意味もありました。
現在はデメリットというわけではありませんが、Codeigniter2からCodeigniter3にバージョンアップする際、ライセンスに関する懸念から多くの開発者がCodeigniterの利用に対する不安を感じた事があります。
これは、当時の開発元であるEllisLab がCodeigniterのライセンスを独自オープンソースライセンスからコピーレフトなライセンスであるOSLライセンスにするという決定をしたためです。
様々な経緯の結果、開発元がブリティッシュコロンビア工科大学に移り、このライセンス問題もMITライセンスになり、ライセンス問題もおさまりました。
ただ、ライセンス問題が発生した時に、有力な開発者が他のフレームワークでの開発を始めた事で、一時的にでもCodeigniterでの開発知見が減少したことはデメリットだと言えるかもしれません。
Phalcon(ファルコン)とは
メリット
高速性能
Codeigniterを利用していた頃は、標準設定のPHPフレームワークの中で最も軽量で高速動作が可能だったのがCodeigniterでした。
その市場へ、最速フレームワークとして誕生したのがPhalconです。
C言語の拡張として書かれたPHP用オープンソースフルスタックフレームワークです。
C言語の拡張というように、非常に高速な動作が可能です。
例えばkenjis氏の計測結果によるとlaravel-5.3に比べるとPhalcon2.0は15.9倍処理速度が高速というベンチマークが出ています。
デメリット
日本国内用情報が少ない
ベンチマークの計測方法に盛りますが、Phalconが高速性能を誇っているのは確実です。
それだけ高速なPhalconがPHPフレームワークのシェア上位に来ることができないのにはいくつか理由があります。
- Phalconが安定動作するようになった時、すでにLaravel等のフレームワークの情報が豊富だった
- PHP7になり、それまでのPHP5の処理速度の倍程度のベンチマークが出るようになった
- 既存で利用しているPHPフレームワークから乗り換えるにはPhalcon独自の仕様を学習する必要があった
それぞれの理由自体は小さな理由かもしれません。
しかし、様々な理由が重なり、タイミング的にPhalconを実務で使用する機会がないまま時が経つことで、日本国内でのPhalconに関する情報はLaravel程蓄積されませんでした。
高速性能のPhalconを実務で利用したいエンジニアは多いと思いますが、Laravel程情報が無い事がデメリットになるようです。
まとめ
Rubyのフレームワークと聞くと、「Ruby on Rails」をイメージする人が多いと思いますが、PHPは状況によって使われるフレームワークが様々あります。ぜひ覚えておきましょう。
また、PHPを勉強していて、
- もっと効率的に勉強したい
- 誰かに聞きながら学びたい
- 自分でWebサービスを作りたい
と思ったことはないでしょうか。
そんな方のために、TechAcademyではオンラインブートキャンプPHP/Laravelコースを提供しています。
現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、オリジナルWebサービスを開発することが可能です。
独学に限界を感じている場合はご検討ください。
この記事を監修してくれた方
中本賢吾(なかもとけんご) 開発実績:PHPフレームワークを利用した会員制SNS・ネットショップ構築、AWSや専用サーバー下でLinuxを使用したセキュアな環境構築、人工知能を利用したシステム開発、店舗検索スマホアプリ開発など。 その他にも地域の職業プログラマー育成活動を行い、2018年には小学生がUnityで開発したオリジナルAndroidアプリをGooglePlayでリリース。ゲームで遊ぶより作ろうぜ!を合言葉に、小学生でも起業できる技術力を育成可能で有ることを証明し続けている。 |