Webプログラミング言語「PHP」は、Facebook、楽天市場、メルカリ、Slack、Wordpressなど、多くのWebサイト・Webアプリケーションの開発で用いられています。

そして、そのPHPを用いる際、開発の効率化などを目的として活用されているのが、「PHPフレームワーク」です。
PHPは人気のあるプログラミング言語であるため、たとえば「Laravel」や「CakePHP」など、さまざまなPHPフレームワークが登場してきています。

そこで本記事では、PHPフレームワークの基本的な知識から、活用する上でのメリットやデメリットを解説するとともに、2023年時点でのおすすめできるPHPフレームワークやそのトレンド、フレームワークの選び方などについても詳しくご紹介します。

これからPHPを学びたいと考えている方、あるいは既にPHPを使用していておすすめのPHPフレームワークを探している・PHPフレームワークに関する最新の情報を探しているという方にとって、こちらの記事が少しでもお役に立てば幸いです。


PHPとは

はじめに、「PHP」の基本的な知識について解説します。

PHPとは、デンマークのエンジニア、Rasmus Lerdorf(ラスマス・ラドルフ)氏によって開発されたプログラミング言語であり、"PHP: Hypertext Preprocessor"の略とされています。

主にWebサイトやWebアプリケーションなどの開発に用いられており、動的なコンテンツ(アクセスする時間帯や閲覧者などに合わせて表示内容が変わるコンテンツ)の開発を得意としています。PHPは、仕様や文法がとても分かりやすいことから、比較的習得しやすいプログラミング言語と言われています。

このPHPで開発されている代表的なサービスとしては、Facebook、Yahoo!、楽天市場、メルカリ、Slack、Wikipedia、Wordpressなどがあげられます。
とても人気のあるプログラミング言語ですので、ITエンジニアの方であれば、是非ともおさえておきたいところです。


PHPフレームワークとは

ここからは、本記事のメインテーマである「PHPフレームワーク」について解説していきますが、まずはソフトウェア開発における「フレームワーク」について簡単にご紹介します。

フレームワークは、ソフトウェア開発の世界でよく出てくる用語です。
本来は、「枠組み」「骨組み」といった意味ですが、ソフトウェア開発の世界では、システムやWebアプリケーションなどの開発が行いやすくなるよう、頻繁に使用される機能の半完成品を提供してくれるツールのことをさします。

"頻繁に使用される機能"とは、たとえば、「ログイン機能」「データ登録機能」「検索機能」「予約機能」「問い合わせフォーム機能」「広告配信機能」「バックアップ機能」などです。

通常、それら機能をゼロから作成するとなれば相当な時間と労力が必要となります。
しかし、フレームワークを活用すれば、簡単なコマンド操作のみで、それら機能の完成品あるいは半完成品のプログラムを生成してくれます。

そして、PHPフレームワークとは、その名の通り、PHP版のフレームワークのことです。
PHP自体、とても開発がしやすいプログラミング言語ですが、PHPフレームワークを活用することで、より開発がしやすくなります。

PHPは人気のあるプログラミング言語であるため、フレームワークが充実しています。

「Laravel」「CakePHP」「Symfony」「Codeigniter」など、数多くのPHPフレームワークが登場してきており、PHP開発の現場では、PHPフレームワークを用いるのが一般的となっています。


フレームワークとライブラリの違い

フレームワークとよく似た用語に、ライブラリというものがあります。
フレームワークとライブラリ、どちらも開発をサポートしてくれるものですが、その意味合い・位置づけは異なります。

ライブラリとは、汎用性の高い関数やクラスなどのプログラムをまとめたものです。
基本的に、各プログラムは単独では動作しません。特定の機能を作成する上で部分的に活用します。

一方で、フレームワークは、それ自体で特定の機能を実現するプログラムを提供してくれます。

「フレームワークは完成品・半完成品を、ライブラリは部品を提供してくれる」と考えれば、イメージがしやすいでしょう。


PHPフレームワークを活用するメリット

PHPフレームワークを活用することで、具体的にどのようなメリットがあるのでしょうか。
ここでは、PHPフレームワークを活用するメリットを3つご紹介します。


開発を効率化できる

PHPフレームワークは、頻繁に使用される機能の作成をサポートしてくれるため、開発を効率化させることができます。
ゼロから作成する場合に数日かかるような機能であっても、フレームワークを使えばものの数分で作成できてしまうケースも珍しくはありません。
それだけ、ITエンジニアの負担が軽減されますし、開発期間の短縮化を図ることもできます。


コードの書き方をある程度統一しやすい

PHPフレームワークは、各々が独自に規約やルールを定めています。
そのため、PHPフレームワークを活用すると、チーム間でコードの書き方が統一されやすくなり、結果としてコードの可読性が高まります。
チーム間でコード内容を参考にしあうことが容易になりますし、メンテナンス作業なども行いやすくなります。


バグの量を抑えられる

一般的に、開発で発生してしまうバグの量は、コードの量に比例する傾向があります。
しかしPHPフレームワークを活用すれば、自前で書くコードの量を大幅に減らすことができるため、バグの量を抑えることにつながります。


PHPフレームワークを活用するデメリット

PHPフレームワークにはいくつものメリットがある一方で、デメリットもあります。
こちらについてもしっかりとおさえておきましょう。ここでは、PHPフレームワークを活用するデメリットを3つご紹介します。


学習時間を要する

これまで解説したとおり、PHPフレームワークを活用すれば開発を行いやすくなりますが、そのためにはPHPのプログラミング言語自体に対する理解に加え、PHPフレームワーク独自の知識も必要となります。

したがって、効果的にPHPフレームワークを使いこなすためには、それ相応の学習時間が必要となります。


カスタマイズが難しい

PHPフレームワークでは、あらかじめ形ができあがっているもので開発していくことになるため、細かいカスタマイズは難しく、オリジナリティを出したい場合やイレギュラーな処理を行いたい場合に実現しにくいことがあります。


ブラックボックス化しやすい

PHPフレームワークを活用すれば、ゼロからの開発をせずにすみますが、逆に言えば、その手軽さゆえに、PHPの仕様や文法をあまり理解していなくても開発ができてしまう、ということになります。
そのため、何らかのエラーやトラブルが発生した場合に、原因の特定などが難しくなってしまうことがあります。


おすすめのPHPフレームワーク11選

続いては、PHPを用いた開発によく使用されるおすすめのPHPフレームワーク11選をご紹介します。

Laravel(ララベル)

Laravelは、Microsoft社の「.NET」開発に携わっていたエンジニア、Taylor Otwell(テイラー・オトウェル)氏によって開発されたPHPフレームワークです。

Laravelは後述の大規模システム向けに適したフレームワークであるSymfonyを土台に開発され、豊富な機能やプラグインが用意されていることや、MVCモデルが採用されていることから、効率の高い開発が可能という特徴があります。

また文法がシンプルであり、入力チェック機能や便利なライブラリが充実している点も大きな特徴として挙げられます。
さらに、日本語の情報が豊富にあり、学習がしやすいフレームワークでもあることから、PHPフレームワークの中でも非常に高い人気を集めています。

MVCについては、以下の記事で詳しくご紹介しています。MVCについて詳しく知りたい方は、ぜひこちらも併せてご参照ください。
MVCとは?MVCの基本をわかりやすく解説!設計でのそれぞれの役割と機能は?MVC使用のメリットと有効な使い方もご紹介

参考サイト
Laravel公式ページ
Laravel関連パッケージ最新日本語ドキュメント


CakePHP(ケイクピーエイチピー)

CakePHPとは、Cakeソフトウェア財団によって開発されたPHPフレームワークです。

MVCモデルが採用されていることにより、プログラム自動生成機能が充実しているため開発を効率的に進めていくことが可能で、かつ動作速度が速いという特徴があります。

また、動作の安定性やセキュリティ性にも定評があります。
さらに、規約に重きを置いた設計思想を持つことから、ルールに則った一貫性の高いコードを実装することができます。

Laravelと同様、日本語の情報が豊富にあり、学習がしやすいPHPフレームワークです。

参考サイト
CakePHP公式ページ


Symfony(シンフォニー)

Symfonyとは、フランスのSensio Labs社によって開発されたPHPフレームワークです。

プラグインが優れており、機能の拡張も容易であることから、大規模開発に向いています。

MVCモデルを採用したRuby on Railsの影響を色濃く受けており、「バンドル」と呼ばれる、再利用可能なコードをまとめたモジュールを作成して開発を進めていく特徴があります。
また、保守に便利な機能が揃っているため、リリース後の安定性を重視したい場合にもおすすめです。
機能追加や脆弱性対策が定期的(年に2回)に行なわれています。

参考サイト
Symfony公式ページ


Codeigniter(コードイグナイター)

CodeIgniterとは、アメリカのEllisLab社によって開発されたPHPフレームワークです。

「搭載する機能は最小限に抑え、必要な機能があれば随時追加する」という仕様であるため、動作が軽いという特徴があります。

また、規約の制限が比較的緩く、高いコーディングの自由度を持ちます。
さらに、CSRF攻撃やXSS攻撃などを防ぐセキュリティ機能が備わっており、システムやデータを安全に運用することができます。

特に海外での人気が高く、今後日本でも普及が期待されているフレームワークです。

参考サイト
CodeIgniter公式サイト


FuelPHP(ヒューエルピーエイチピー)

FuelPHPは、CodeIgniterの開発に携わった人たちで作ったグループである「FuelPHP developer team」によって開発されたPHPフレームワークです。

オートローダーという、必要な機能だけを読み込む仕組みにより、高速処理を実現しています。
また、クイックインストールにより即座に利用できるため、小規模開発や個人開発で多く用いられています。

規約よりも設定に重きを置いた思想で開発されたことから、高い自由度を持ちます。
日本語の公式ドキュメントがあり、学習がしやすいフレームワークです。

参考サイト
FuelPHP公式ページ


Zend Framework(ゼンドフレームワーク)

Zend Frameworkは、アメリカのZend Technologies社により開発されたPHPフレームワークです。
GoogleやIBM、Microsoftといった優良企業の技術提供のもと開発されました。

拡張性に優れている点や、規約が緩く自由度の高い開発ができる点が大きな特徴です。

改変コードを非公開設定することができるため、商用利用にも対応しやすいフレームワークです。

参考サイト
Zend Framework公式サイト


Phalcon(ファルコン)

Phalconとは、アメリカのエンジニアAndres Gutierrez(アンドレス・グティエレス)氏によって開発されたPHPフレームワークです。

コア部分がC言語により実装されており、シンプルかつメモリ消費を抑えた仕組みにより、超高速処理を実現します。

また、アプリケーションの規模に応じたプロジェクトタイプを選択するが可能なことから、小規模から大規模なシステムまで柔軟に対応可能で、高速処理を必要とするシステムで多く用いられています。

参考サイト
Phalcon公式サイト
Phalcon公式ドキュメント


Yii(イー)

Yiiとは、中国のエンジニアQiang Xue(チアン・シュエ)氏によって開発されたPHPフレームワークです。

コンポーネントベースのフレームワークであるため、再利用性を意識することでスピーディーな開発を行なうことができます。

また、キャッシュ機能が充実しているため、アクセス負荷の大きいサービスの開発に向いています。

参考サイト
Yii公式サイト
Yii 2.0 決定版ガイド


Flight(フライト)

Flightとは、アメリカのTwitter社により開発されたPHPフレームワークです。
Twitter社が開発したことから、リリース当時は大きな話題となりました。

Twitter社らしく「シンプル」をコンセプトに開発されています。
機能が最小限に抑えられていることから、誰でも手軽に利用することが可能です。

コーディングはもちろん、デバッグやテストなども比較的簡単に行うことができます。

参考サイト
Flight公式サイト


Kohana(コハナ)

Kohanaとは、アメリカのEllisLab社によって開発されたPHPフレームワークです。
前述したCodeIgniterから派生して開発されました。

CodeIgniterと同様、動作が軽いのが大きな特徴で、ライブラリの使い勝手にも定評があります。

また、公式ドキュメントが非常に充実しています。

参考サイト
Kohana公式サイト


Slim(スリム)

Slimとは、アメリカのエンジニアJosh Lockhart(ジョン・ロックハート)氏によって開発されたPHPフレームワークです。

機能が最小限に抑えられていることから、動作が軽く、また誰でも手軽に利用することができます。

Webサイト・Webアプリケーションの開発も可能ではありますが、APIの開発に向いています。

参考サイト
Slim公式サイト


PHPフレームワークの人気トレンド【2023年最新版】

おすすめのPHPフレームワークをご紹介してきましたが、PHPフレームワークの人気トレンドはどうなっているのでしょうか。
Googleトレンドを使って、「どのPHPフレームワークが頻繁に検索されているか」の比較調査を行いましたので、その調査結果についてご紹介いたします。

※調査時期は、2023年1月です。
※Googleトレンドでは、比較できるワードは5つのみとなるため、知名度の高い上位5つのPHPフレームワークを比較しています。
なお、色分けは以下の通りです。

青:Laravel
赤:CakePHP
黄:Symfony
緑:Codeigniter
紫:FuelPHP 



この調査結果によれば、2023年時点でのPHPフレームワークの人気のランキングは、Laravelが圧倒的な1位で、2位がCakePHP、3位がSymfony、4位がCodeIgniter、5位がFuelPHPとなっています。

2000年代後半から2010年代前半まではCakePHPが圧倒的なシェアを得ていましたが、それ以降は徐々に下降していき、代わりにLaravelがシェアを伸ばし、現在は圧倒的にトップです。

Symfony、Codeigniter、FuelPHPについても、2000年代後半はシェアを伸ばしつつありましたが、それ以降、徐々に下降していきました。

ソフトウェア開発におけるフレームワークのトレンドとして、あるフレームワークの使い勝手が良く人気を集めた場合、さらにそれを使う人が増えていくことが多いことから、さらにLaravelのシェアが拡大していく可能性も十分考えられます。
Laravel以外のフレームワークについては検索数に大きな変化がなく、シェアという面ではLavevelと大きな差がある状態が数年続いていることを考えると、今後状況が大きく変化していく可能性は低いと言えるでしょう。

PHPフレームワーク別の動作速度の差

また、それぞれのPHPフレームワークには動作速度の差があることはご存じでしょうか。
そこで、続いては主要なPHPフレームワークごとの動作速度を比較してみましょう。

PHPフレームワークの動作速度比較として多くのベンチマークが存在しますが、ここでは下記サイトを参考にまとめています。

PHP Framework Benchmark – GitHub –

手法としては、各PHPフレームワークをインストールし標準設定で「Hello World」を表示するだけのサイトを作成し単位時間あたりの処理数を比較しています。
各PHPフレームワークの単位時間あたりの処理数は以下のとおりです。

  • FuelPHP:344(Requests/Sec)
  • CakePHP:175(Requests/Sec)
  • Symfony:132(Requests/Sec)
  • Laravel:102(Requests/Sec)

やはり、オートローダーや使用メモリ量最適化といった工夫がなされているFuelPHPが1位という結果になりました。

ただし、参考リンク先でも確認できますがsilerやslimといったさらに速いものが多数存在しており、これらはマイクロフレームワークと呼ばれます。

搭載機能を必要最低限に絞る代わりに高速動作するもので、今回おすすめとしては取り上げていませんが速度重視の場合は検討しても良いでしょう。

また、このベンチマークは標準設定での比較になりますので、環境・アプリ・用途に応じてチューニングすればまた別の結果になる点に注意してください。


PHPフレームワークの選び方

とても便利なPHPフレームワークですが、ITエンジニアの方にとってみれば、あまりに種類が多くて、どれを学習すべきなのか、迷ってしまうこともあるかと思います。
特にフリーランスエンジニアの方の場合、求人案件を応募する際に特定のフレームワークのスキルを求められることが多く、どのフレームワークを学習するかによって、働き方や年収などが大きく変わってきます。

そこで、続いてはPHPフレームワークの選び方をご紹介していきます。

採用実績・トレンドを考慮する

まず、一つ目は、PHPフレームワークの採用実績・トレンドを考慮することです。
基本的には、多くの採用実績をもつフレームワーク、トレンドに即したフレームワークを選ぶとよいでしょう。
採用実績が少なく、トレンドでもないフレームワークを学習したとしても、仕事としてニーズがなければ、学習に費やした時間が無駄になってしまいます。
したがって、本記事でもご紹介したようなトレンドを意識し、その時々で人気やニーズの高いPHPフレームワークを幾つか選択し、絞りこむのがおすすめです。

学習コストを考慮する

そして二つ目は、PHPフレームワークの学習コストを考慮することです。
ITエンジニア初心者の場合は、学習コストのかからないフレームワークを選ぶとよいでしょう。
学習コストが低いフレームワークとは、たとえば次のようなフレームワークのことです。

  • 難易度が低い
  • 規約やルールが少ない
  • 学習に役立つ書籍・サイトが豊富
  • 親しい人が既に習得している(親しい人から教えてもらえる)
  • 通っているスクールで扱っている

学習コストが低ければ、比較的早い段階から実際の仕事に活かすことが可能となります。

しかし、学習コストが低いフレームワークを選ぶことにもデメリットがあります。
学習コストが低い分、他のエンジニアとの差別化ができません。
差別化ができなければ、採用されにくくなったり、採用されたとしても単価が低い状態が続いてしまったりするでしょう。

したがって、ITエンジニア中級者・上級者であれば、あえて難易度が高いフレームワークや情報が少ないフレームワークを選び、それを自身の差別化要素にするという手もあります。


実際にフレームワークを触ってみる

そして最後に、実際にPHPフレームワークを触ってみることが挙げられます。
周辺的な知識だけでなく、実際に各フレームワークの公式ドキュメントに目を通したり、チュートリアルが提供されている場合はそれを試してみたりすることで、自分との相性や、フレームワークで出来ることや使い勝手についての理解をより深めることが可能となります。

これらを総合的に加味することで、最終的に使用するPHPフレームワークを選定するのがよいでしょう。


迷った場合はLaravel

採用実績やトレンド、学習コストを考慮することがよい、とお伝えしましたが、それでも迷ってしまう場合もあるかと思います。
その場合は、求人数が多く、また学習もしやすいLaravelをおすすめします。

PHPフレームワークは、いったん概念を理解してしまえば応用が利きます。
Laravelを一通りおさえてしまえば、後に他のフレームワークを学習することになったとしても、その負担が軽くなるでしょう。


PHPフレームワークの学び方

PHPフレームワークは、学び方としてどのような方法があるのでしょうか。
一般的には、書籍・学習サイトで学ぶ方法と、プログラミングスクールで学ぶ方法の大きく2つがあります。

書籍・学習サイトで学ぶ

まず、PHPフレームワークを学ぶ方法として書籍や学習サイトを利用して学ぶ方法があります。

昔と比べて最近では、初心者でも簡単に取り組める書籍・学習サイトが増えました。
例えば、UdemyProgateといった学習サイトでは、オンラインで非常に質の高いコースが提供されています。
またPHPや、学習対象のPHPフレームワークの公式ドキュメントを参照することも、質が高く正確な情報が得られることからおすすめです。

書籍・学習サイトで学ぶ方法には、比較的コストを抑えやすい、自分のペースで進められるといったメリットがあります。


プログラミングスクールで学ぶ

続いて、PHPフレームワークを学ぶ方法として、プログラミングスクールに通いながら学ぶ方法があります。
入学金や授業料など費用はかさみますが、プロから直接教わることで、独学よりも短期間でステップアップしていくことができます。
転職サポートをしてくれるスクールも多くあり、積極的に仕事を探しているエンジニアに適している方法といえます。

コミュニティで学ぶ

近年ではITエンジニアを目指す人が増えてきていることもあり、非常に多くのITエンジニア向けのコミュニティがオンライン・オフラインに存在しています。

勉強会などのオフラインコミュニティに参加してみるのも良いですし、オンラインのエンジニアコミュニティであればより気軽に参加することができます。
特に自分でフレームワークの学習を進めている過程で、知らないことやわからないことが出てきた際には、Stack OverflowQiitaMediumZennといった知識や情報を共有するコミュニティを活用することで、よりスムーズに解決を図りやすくなります。

またコミュニティを通じて情報の共有を受けるだけでなく、自分が学んだことを自分から発信・共有することもおすすめです。
自分が学んだことを言語化してアウトプットすることにより、さらに深い理解や記憶の定着に繋がるほか、他のユーザーから得られるリアクションによって学習に対するモチベーション向上も期待できます。


PHPフレームワークが使われているサービス

最後に、PHPフレームワークにより開発されたサービスを3つご紹介いたします。

Yahoo!

Yahoo!は、アメリカ最大級のポータルサイトです。サーチエンジン、Webメール、ニュース配信、音楽・動画配信、ネットオークションなどのサービスを提供しています。

このYahoo!はPHPで作られており、PHPフレームワークとしては、Symfonyがメインのひとつとして採用されています。
Symfonyは、拡張性に優れ、保守にも便利な機能が揃っているため、規模が大きくなっていくことが予想されるサービス、長期運用を前提としたサービスで採用されることが多いです。


ぐるなび

ぐるなびは、「食べログ」「ホットペッパーグルメ」「Retty(レッティ)」と並び称される4大グルメ情報サイトのひとつです。
エリアや料理ジャンル、予算などから希望の飲食店を検索することができます。そのまま予約や出前注文をすることができますし、クーポンやポイントなども充実しています。
このぐるなびもPHPで作られており、PHPフレームワークとしては、Laravelが採用されています。具体的なところは、ブログで詳しく解説されているので、気になる方はご覧になってみてください。

参照:「ぐるなびをちょっと良くするエンジニアブログ」



Schoo(スクー)

Schooは、社会人向けオンライン動画学習サービスです。
配信コンテンツは、プログラミングやWebデザイン、ライティング、マーケティング、外国語など。講義中に直接講師に質問したり、参加者同士で気になるテーマについて語り合ったりできる双方向型の講義を提供しています。

このSchooもPHPで作られており、PHPフレームワークとしては、CodedIgniterが採用されています。
Codeigniterは、動作が軽いため、Schooのような大量の動画を扱うサービスで採用されることが多いです。


まとめ

本記事では、PHPフレームワークにフォーカスし、その基本的知識やメリット・デメリット、おすすめPHPフレームワークなどをご紹介してきました。

PHPはWeb系開発において人気のプログラミング言語であり、そのフレームワークはとても充実しています。
PHPエンジニアとして活動していくのであれば、PHPフレームワークの知識・スキルは必須といえるでしょう。

本記事が、PHPフレームワークの理解の選定などにおいて、少しでもお役に立てますと幸いです。
なお、PHPフレームワークにも流行り廃りがありますので、情報をアップデートし続ける意識を常に持つようにすることが重要です。