PHPの代表的なフレームワークの1つであるCakePHP
。慣れれば便利なフレームワークですが、最初の山を超えるのがすごく辛かったです。そんなCakePHP
に関して、今まで学んできたことを備忘録として書き残していきます。PHPを書き始めたけど、フレームワークってなんなの?という方、ぜひ御覧ください。
CakePHPとは?
CakePHP
とは、PHPの代表的なフレームワークの1つで、Ruby on Rails
の概念を多く取り入れられて作られています。
ロゴは名前の通りケーキ(Cake)がモチーフになっていて、作った人が甘党だったのかな?とか思いつつも由来の詳細はわからないです。
基本的な構造としては、MVCモデルのフレームワークです。
さっきから出てくるフレームワークとはなんぞや?
フレームワークを直訳すると、「枠組み」であったり、「構造」って意味であったりします。
ソフトウェア開発におけるフレームワークとは「開発の土台」にあたります。データベースの接続などの共通処理を汎用的に使えるようにしてくれます。また、規約(ルール)がありそれを守ることが前提となっています。
定められた規約(ルール)に従ってコーディングすると、無駄なコーディングが減り、開発速度が爆発的に早くなります。また、開発チームの全員がフレームワークのルールを知っていることになるので、個人に依存したコードになりにくくなったりもします。
フレームワークを利用するメリットとデメリットは以下です。
フレームワークを利用するメリット
- 無駄なコードを書く手間が省ける(コードの再利用性が上がる)
- 規約(ルール)に則ってコーディングするので、保守性が高まる
- ベタ書きよりは統一感があるので大規模開発がしやすくなる
フレームワークを利用するデメリット
- 規約(ルール)を覚えるまでが大変
- フレームワーク自体の更新が止まってしまう可能性がある
- セキュリティに関するものなどの致命的なバグがあった場合・・・
フレームワーク利用に関するまとめ
結論からいうと、Webサイト開発するのであればフレームワークを使わない理由はないと思います。
PHPのフレームワークって何があるの?
有名なものとして、今回紹介するCakePHP
の他に、Laravel
、Zend Framework
、symfony
があげられます。
CakePHPって実際にどうなのよ?
"Convention over Configuration"という謳い文句があり、これは「設定より規約」という意味で、規約を重視するものとなっています。その規約が書いてあるドキュメントが、日本語でもしっかりしているので学習する環境はそろっています。
長くなってしまいましたが、次回はCakePHPの導入方法です。
2019年1月14日(月)に追記
PHPのフレームワークは、Laravel
が一番人気になってきています。どれだけコミュニティが活発か?が、フレームワーク選定で一番大切になるので、新規でWebアプリケーションを開発するのであれば、CakePHP
という選択をする機会は減っているのが現状です。