コンテンツ
おすすめのPHPフレームワークについて
おすすめのPHPのフレームワークについてまとめてみました。
私は、フレームワークを使わずに生のPHPでコードを書く方が好きなんですが、
やはり、このご時世、フレームワークを用いたWEB開発は避けては通れません。
始めて使ったフレームワークは、当時日本国内では圧倒的なシェアを誇っていたCakePHPでした。
今はLaravelに押されて衰退気味ですが。。。
で、私がおすすめするフレームワークは以下の3つです。
フレームワークによって特徴はありますし、流行りもあるので、その時々によってもおすすめのフレームワークは変わってきますが、
今回は、この3つのフレームワークについて簡単に説明していきます。
Codeigniter
■CodeIgniter Web Framework
■日本CodeIgniterユーザ会
Codeigniterは、一昔前と比べると人気は落ちていますが、
軽量で高速に動作するため、今でも地味に人気のフレームワークです。
フレームワーク全体のコードも少なく、他のフレームワークと比べても全体的にすっきりとしたフレームワークなので、
どこにどのような処理を組み込んでいるかも管理しやすいです。
また、コーディング規約も緩く、使い易いので、学習コストも低く、導入しやすいフレームワークと言えます。
特徴をまとめると、以下になります。
・軽量で高速に動作する
・ルールが緩い為に自由度が高く、学習コストも低い
・コード量が少なく、システム全体を管理しやすい
Laravel
■Laravel - ウェブ職人のためのPHPフレームワーク
Laravelは、今やPHPフレームワークの中でも圧倒的な人気を誇り、
インターネット上にも多くの情報が公開されています。
そのため、開発中に分からないことが出てきても、情報収集に困ることはほとんどありません。
いわゆるフルスタックと呼ばれるフレームワークで、
ログイン機能やデータベースの処理、セキュリティー対応などWEB開発に必要な機能を一式揃えたフレームワークとなっています。
フルスタックフレームワークというのは、機能が豊富な代わりに、学習コストが高くなりがちなんですが、
Laravelが人気の理由は、フルスタックにも関わらず学習コストが低い点にあります。
また、規約が緩く自由度が高く、非常に使い易いフレームワークとも言えます。
学習コストが低く、規約が緩いため、初心者の方でもとっつき易いですし、
今後もしばらくはLaravelのシェアが奪われることはないと思います。
動作に関しては、他のフレームワークと比べると遅いと言われています。
私は遅いと感じたことはないですが、WEBサイトの規模などによっても異なるので、一概にはどうとは言えないです。
特徴をまとめると、以下になります。
・フルスタックフレームワークで、WEB開発に必要な機能が一式揃っている
・学習コストが低い
・規約が緩く自由度が高い
CakePHP
■CakePHP - Build fast, grow solid | PHPフレームワーク
CakePHPは、日本国内で圧倒的な人気を誇っていたフレームワークです。
MVCモデルに則って開発されており、Laravelと同様にフルスタックのフレームワークです。
その為、WEB開発に必要な機能が一式揃っている、非常に優秀なフレームワークです。
ただし、規約優先のフレームワークで、Laravelと比べると自由度が低く学習コストが高い為か、
今ではLaravelに人気が奪われてしまっています。
※学習コストがめちゃくちゃ高いわけではありません。
汎用性が高く、ルールがきっちりしている分、しっかりと学習したいという方におすすめです。
特徴をまとめると、以下になります。
・フルスタックのフレームワークで、汎用性も高い
・規約(ルール)優先のフレームワークで、学習コストは少しだけ高め
・MVCモデルに則って開発されている
最後に
現在、PHPのフレームワークは多数あり、どのフレームワークを使えばいいのか困ることもあります。
ただ、案件によって多少の向き・不向きはありますが、「大差は無いので、どのフレームワークでもいいです」というのが正直なところです。
例えば、
・〇〇のフレームワークは大規模な案件に向いている!
とか、
・〇〇のフレームワークは、××のようなシステム開発に向いている!
とか、人によって様々な意見があります。
個人的には、直感的に「使い易い!」「自分に合っている!」「学習しやすい!」「人気だから!」「情報量が多いから!」などで決めてしまっていいと思います。
それでも、悩んでしまうのが、人間というものですが。。。
そんな場合には、今回紹介した3つのフレームワークのいずれかを使って貰えればいいと思います。
規約が緩く使い勝手がいいフレームワークを選びたいのであればLaravelがおすすめですし、
規約がしっかりとしていて基礎からきっちりと学習したいという方であればCakePHPがおすすめです。
また、全体的にコードの量が少なく、ソースコードを管理しやすいフレームワークがいいという方にはCodeigniterをおすすめします。
人によっても考え方が異なるので何とも言えないですが、
私はこんな雑な感じでどのフレームワークを使うかを決めています。
お客さんから、〇〇のフレームワークを使って下さい!と言われれば、それを使うしかないですが。。。
この記事へのコメントはありません。