システムエンジニアがこの悩みにお答えします。
この記事を書いている僕は、WEBコンサルタント兼SEとしてシステムやマーケティングを担当しています。PHPのフレームワークも一通り使ったことがあり、お気に入りはLaravelです。
PHPプログラマーを目指すならば、フレームワークは必ず学習したほうがいいです。
僕は現在、WEB系システムエンジニアとしてPHPの仕事もしていますが、周りのエンジニアもフレームワークかWordPressのどちらかを使うのが一般的です。
需要が高く人気のPHPフレームワークを紹介します。
PHPフレームワークで開発するメリット
フレームワークを使うとPHPのプログラミング開発期間を格段に短縮できます。
プログラマーにとって怖いことは、納期に間に合わないことです。
プログラミングは楽しいものですが、一から作成するとなると、それなりに時間がかかってしまいます。
- フォームの作成
- バリデーション(入力チェック)
- ページネーション
- セッション管理
こうした機能を一から作るとなると時間がかかります。
PHPのフレームワークは、こうした良くある機能を簡単に実装することができるのです。
しかもプログラミングで大事なセキュリティ対策も、フレームワークを使うことで実装できるのです。
セキュリティ対策は、自分でコードを書くと見落としてしまうこともあるので、その意味でもPHPフレームワークを利用するメリットは大きいです。
PHPのフレームワークは、効率化によって仕事の幅を広げてくれます。
PHPフレームワークは一つ覚えれば応用できます
PHPのフレームワークを学習した人ならわかるのですが、実はフレームワークは似ている設計思想のものが多いです。
僕も仕事で数多くのPHPフレームワークを使いました。
- CakePHP
- Symfony
- Laravel
- Codeigniter
- FuelPHP
- Kohana
- Slim
- Zend Framework
これらのフレームワークは、MVC(モデル、ビュー、コントローラー)と呼ばれる設計で作られています。
この基本設計が理解できていれば、新しいPHPフレームワークを短時間で使えるようになります。
例えば僕は昔、Codeigniterを勉強したので、その派生であるFuelPHPもすんなり理解することができました。
また人気が高いLaravelは、昔から使われているSymfonyというフレームワークをベースにしているので、Symfonyを利用したことがある人ならば理解が早いです。
最初の学習コストは高くなりますが、汎用性があるので絶対に覚えておいたほうが良いです。
PHPのフレームワークを比較
僕がWEB制作で使ったフレームワークについて、それぞれの特徴やどの程度の規模の開発向けかなどを紹介します。
※今でもPHP案件でよく見るフレームワークだけにしました。(KohanaやZend Frameworkはほとんど見ることがなくなったので、そういったものは省いています)
Slim
開発規模 | 小規模 |
PHPレベル | 初級~中級 |
学習コスト | 低 |
聞いたことがないプログラマーも多いかもしれませんが、個人的に今一番お気に入りのPHPフレームワークです。
Slimは軽量なPHPフレームワークで、機能も最低限のもので構成されているので初級者にも学習しやすいおすすめのフレームワークになります。
数多くの機能を搭載するフルスタックフレームワークとは違い、覚えることが少ないので無理なく学習できます。
ドキュメントも読みやすく、恐らく1日~数日でPHPのアプリを構築することができるようになるでしょう。
学習コストも抑えられるので、PHPのフレームワークをちょっと勉強してみたいという人にもおすすめですよ。
公式サイト:Slim
CodeIgniter
開発規模 | 小規模~中規模 |
PHPレベル | 初級~中級 |
学習コスト | 低 |
CodeIgniterも軽量で学習コストが抑えられるPHPフレームワークとして人気が高いです。
Slim同様、規約が少なく使い勝手が良いのでPHP初心者の人におすすめできるフレームワークです。
このCodeIgniterを参考にしたというPHPフレームワークも多く、覚えておくと学習の幅が広がるのでお勧めです。
人気のレンタルサーバ(xserverやさくらレンタルサーバー)にも簡単にインストールができるので、PHPのフレームワークを実際に動かして勉強したい人も利用しやすいメリットがあります。
昔からあるフレームワークなので、ネット上にドキュメントが多いのも初心者におすすめできるポイントです。
公式サイト:CodeIgniter
FuelPHP
開発規模 | 小規模~中規模 |
PHPレベル | 初級~中級 |
学習コスト | 低 |
CodeIgniterの派生で生まれたフレームワークで、一時はかなり人気が高く使っているPHPプログラマーも多かったです。
軽量のフレームワークで、フレームワーク初心者の方にも理解しやすい構造になっています。
小規模な開発に強く、ドキュメントやネットの情報も豊富なので使いやすいです。
ただ最近は人気も落ちてきているので、小規模のフレームワークならSlimなどの方がおすすめです。
以前は人気が高かったフレームワークのため、FuelPHPで作ったWEBアプリもまだ残っています。
公式サイト:FuelPHP
Laravel
開発規模 | 小規模~大規模 |
PHPレベル | 中級以上 |
学習コスト | 中 |
仕事としてPHPを使うのであれば、選ぶフレームワークはユーザー数が多いLaravelを利用するのが今一番おすすめです。
利用しているエンジニアが多いということは、それだけ信頼されているフレームワークということです。
豊富なライブラリや見やすいソースコードなど、初中級者にありがちなスパゲッティコードを防ぐことができます。
また利用者が多くネットにドキュメントが多いので、中級者以上のプログラマーなら利用しやすい条件が揃っています。
先ほど初心者向けで紹介したフレームワークよりも、案件数が圧倒的に多いので仕事の幅が広がります。
Laravelの人気はしばらく続きそうなので、PHP学習者なら一度は触れてみるべきフレームワークです。
CakePHP
開発規模 | 中規模~大規模 |
PHPレベル | 中級以上 |
学習コスト | 中 |
日本の案件では昔から利用されているPHPフレームワークです。
規約の縛りがあり、大規模開発に向いているフレームワークですが、最近はLaravelの人気に負けている感があります。
ただCakePHPで作っているWEBアプリケーションは多いので、仕事でPHPを使うなら覚えておいて損はないでしょう。
自由度はありませんが、規則に則ったプログラミングをする勉強としてCakePHPは優秀なので勉強する価値はあります。
公式サイト:CakePHP
Symfony
開発規模 | 中規模~大規模 |
PHPレベル | 中級以上 |
学習コスト | 中 |
SymfonyもCakePHP同様に、中規模以上の案件で使われることが多いPHPフレームワークです。
ただ個人的にですが、Symfonyで作っているPHPのWEBアプリケーションを見ることは少なくなってきた印象があります。
無理して覚えるほどでもないですが、Symfonyを参考にしたフレームワークも多いので、PHPフレームワークの勉強に選ぶ価値はあります。
実際に触れてみるとわかりますが、他のフレームワークより難易度が高く、学習コストが高くなるので最初に勉強すべきではありません。
公式サイト:Symfony
PHPフレームワークおすすめ【最新情報】
開発規模や学習コストでPHPフレームワークを比較しましたが、案件数や汎用性を考えるとLaravelが一番おすすめのPHPフレームワークと言えます。
「PHP フレームワーク」などでネット検索をしても、ほとんどのサイトがLaravelを推しています。
プログラミングで個人的に参考にしている以下のプログラミング向けサイトやアフィリエイトでも推奨しているほど、現在のPHPフレームワークの主流はLaravelになります。
もちろんPHPフレームワークにはトレンドがありますが、しばらくはLaravel人気が続くことが予想できます。
- Laravelを利用しているエンジニアが多い
- ドキュメントが豊富
- Laravelの仕事が増えている
- ソースコードが読みやすい
僕もLaravelを使った案件を担当したことがありますが、特にデメリットを感じることはありませんでした。
Laravelが使えるようになれば、他のフレームワークも低い学習コストで覚えられるので心配いりません。
フレームワークが使えるようになると、開発効率が圧倒的に良くなります。
自作でPHPフレームワークを作ってみる
自作でPHPフレームワークを作ってみると、フレームワーク特有の考え方を理解できるようになります。
フレームワークは便利なのですが、ルーティングやライブラリ呼び出しの仕組みなどがわからないと、バグが出たときの修正に苦労します。
フレームワークを自作すると、MVC構造やルーティングの基本を覚えることができるので、PHPのレベルアップにつながります。
自分で一からフレームワークを作ってみると、PHPのスキルも上がりますし、メリットだらけなので是非チャレンジしてほしいです。
自作フレームワークは、あくまで勉強用にしておくのがおすすめです。
他のプログラマーに引き継ぐときなども、ドキュメントがしっかりしていないとフレームワークのメリットを活かせないので過信しないようにしましょう。