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

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

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

CakePHPとは?

PHPのフレームワークの1つで、Ruby on Railsの概念を多く取り入れられたものとなっているそうです。Railsを書いたことないので、なんとも言えないのですが。

ロゴは名前の通りケーキとなっています。作った人が甘党だったのかな? 理由はわからないです。

基本的な構造としては、かの有名なMVCモデルとなっています。MVCモデルに関しては、Software Designの4月号にて詳しく紹介されていたので、そちら参照で。

といいたいところですが、簡単な説明を別記事で書こうと思います。フレームワークを扱う上で非常に重要な考え方であり、また私自身MVCを知らず躓いた部分でもあるので。

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

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

まとめると、プログラミンの構文までは行かないけど、コードを書く際にあるルールに従ってしっかり書くと開発速度が爆発的に早くなるってものです。以下に、フレームワークを利用する利点と欠点を記します。

フレームワークを利用する利点

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

フレームワークを利用する欠点

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

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

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

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

有名なものとして、今回紹介するCakePHPの他に、Laravel、Zend Framework、symfonyがあげられます。その中でも、なぜCakePHPを使い始めたかというと、たまたまアルバイト先で使われてて勉強する必要があったからです。

なので、他の2つはいじったことありませんので比較もなにもないのですが、個人的に使っていて不便はありません。

cakephp laravel zendframework symfony

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

1年ほど使ってきて、もうフレームワークからは離れられません。Wordpressとかのフレームワークとはまた違ったサイト構築の方法もありますが、しっかり作るとなるとフレームワークを利用した開発が最適かと。

CakePHPは欧米ではすごい人気なフレームワークなのでコミュニティが盛り上がっていて、わからないことは大体Googleさんで調べるとでてくるそうです。英語な苦手な私にとっては苦ですが。

また、”Convention over Configuration”という謳い文句があり、これは「設定より規約」という意味で、規約を重視するものとなっています。その規約が書いてあるドキュメントが、日本語でもしっかりしているので学習する環境はそろっています。しかし、ドキュメントだとわかりずらい部分もあったので、ぶつかった壁とその解決方法をブログで書いていきたいと思います。

長くなってしまいましたが、次回はCakePHPの導入方法を書いていきたいと思います。