CakePHP

CakePHP - なにそれおいしいの?

PHPの代表的なフレームワークの1つであるCakePHP。慣れれば便利なフレームワークですが、最初の山を超えるのがすごく辛かったです。そんなCakePHPに関して、今まで学んできたことを備忘録として書き残していきます。PHPを書き始めたけど、フレームワークってなんなの?という方、ぜひ御覧ください。

CakePHP?なにそれおいしいの?

CakePHPとは?

CakePHPとは、PHPの代表的なフレームワークの1つで、Ruby on Railsの概念を多く取り入れられて作られています。

ロゴは名前の通りケーキ(Cake)がモチーフになっていて、作った人が甘党だったのかな?とか思いつつも由来の詳細はわからないです。

基本的な構造としては、MVCモデルのフレームワークです。

さっきから出てくるフレームワークとはなんぞや?

フレームワークを直訳すると、「枠組み」であったり、「構造」って意味であったりします。

ソフトウェア開発におけるフレームワークとは「開発の土台」にあたります。データベースの接続などの共通処理を汎用的に使えるようにしてくれます。また、規約(ルール)がありそれを守ることが前提となっています。

定められた規約(ルール)に従ってコーディングすると、無駄なコーディングが減り、開発速度が爆発的に早くなります。また、開発チームの全員がフレームワークのルールを知っていることになるので、個人に依存したコードになりにくくなったりもします。

フレームワークを利用するメリットとデメリットは以下です。

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

  • 無駄なコードを書く手間が省ける(コードの再利用性が上がる)
  • 規約(ルール)に則ってコーディングするので、保守性が高まる
  • ベタ書きよりは統一感があるので大規模開発がしやすくなる

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

  • 規約(ルール)を覚えるまでが大変
  • フレームワーク自体の更新が止まってしまう可能性がある
    • セキュリティに関するものなどの致命的なバグがあった場合・・・

フレームワーク利用に関するまとめ

結論からいうと、Webサイト開発するのであればフレームワークを使わない理由はないと思います。

PHPのフレームワークって何があるの?

有名なものとして、今回紹介するCakePHPの他に、LaravelZend Frameworksymfonyがあげられます。

cakephp

laravel

zendframework

symfony

CakePHPって実際にどうなのよ?

"Convention over Configuration"という謳い文句があり、これは「設定より規約」という意味で、規約を重視するものとなっています。その規約が書いてあるドキュメントが、日本語でもしっかりしているので学習する環境はそろっています。

長くなってしまいましたが、次回はCakePHPの導入方法です。

2019年1月14日(月)に追記

PHPのフレームワークは、Laravelが一番人気になってきています。どれだけコミュニティが活発か?が、フレームワーク選定で一番大切になるので、新規でWebアプリケーションを開発するのであれば、CakePHPという選択をする機会は減っているのが現状です。

-CakePHP