こんにちは〜みんなCakeやってる〜??ぼくもボチボチやってますよ〜 今回はCakePHP2.4をなるべく早く身につけてスマートに開発するための情報を紹介したいと思います。 割と自己流だったりするので肌に合わなかったらごめんなさい。
さて、Cake3のリリースが待ち遠しいところではありますが、今回はCake2系についてです。 というのも現場では常に最新バージョンが使える環境とは限りません。PHP5.3を使わざるえない状況は考えられますし、既存プロジェクトの改修案件とかもあります。その時はCake2系をやることもあるよねーというわけです。
対象は「PHPは知ってるけどフレームワークはあんまり...」という方向けです。
1. CakePHPを知る
まずは「Cakeってどういう風に開発すればいいの?」ってところですね。 正直、公式のブログチュートリアルがオススメです。
Blog Tutorial
http://book.cakephp.org/2.0/en/getting-started.html#blog-tutorial
Cakeの命名規則は独特かもしれません。慣れるまでに少し時間が必要ですが、Cakeでどういう風に開発すればいいか?という問いの答えは出てくると思います。
それからグンと足を伸ばしますがCroogoというCakePHP2で作られているCMSのソースコードはすごくすごく参考になります。必ずチェックしましょう。またCakeが標準で持っているBakeというジェネレーターは強力で魅力的な機能です。こちらもで必ず身につけましょう。
2. MVC(というかモデル)を知る
次にやるべきはMVCに対する理解を深めるところだと思います。 このあたりの設計思想がしっかりしてないとフレームワークを活かすことができません。 特にモデルが重要です。もう一度言いますが、特にモデルが重要です。
・CakePHPを使ったMVC設計のベストプラクティス
http://old-journal.sooey.com/2008/03/26/717/
この記事は2008年に書かれたためソースコードは使えませんが、内容がとても良いです。
・PHPerのMVCの一体どこが間違っていたのか
http://d.hatena.ne.jp/MugeSo/20121224/1356345261
余談ですけどPHPのMVCっていなんていうかモヤモヤするなぁ。って思ってたらこの記事に書いていました。 「Webへの対応」という見出しの章が参考になるかと思います。
っていうか「MVC2」って言うんですね。へぇ〜
3. 開発を楽にする方法を知る
開発を楽にする方法とはパターン化したりプラグインを使ったりCakeの機能を把握することだと思います。
・デバッグ
【CakePHP2.3】必須プラグイン(DebugKit) http://blog.livedoor.jp/spyder_5615/archives/25579823.html 超便利なDebugkitを画面キャプチャ付きで解説 http://d.hatena.ne.jp/cakephper/20090604/1244112188
・検索
Searchプラグインを使ってCakePHPに検索を実装する http://mawatari.jp/archives/introduction-of-cakedc-search-plugin-for-cakephp
・画像アップロード
cakePHP 2.x 画像アップロードプラグイン“upload”の使い方 http://www.workabroad.jp/posts/437
・メール
CakePHP2.X 「CakeEmail」 の使い方 http://takahashiyuya.hatenablog.com/entry/20120328/p1
・ACL
CakePHP2でACLを超簡単管理できるプラグイン「ACL Plugin 2」 http://takahashiyuya.hatenablog.com/entry/20120301/p1
4. おすすめ本
・詳解CakePHP辞典
リファレンスが必要な方はこの一冊があれば大丈夫でしょう。
・CakePHP2 実践入門
実践入門として日常的に使われているテクニックが学べます。テストの章が特にオススメです。
・Webアプリ開発を加速する CakePHP2定番レシピ119
このレシピ集は実践入門よりコアな内容となります。読んでいると知らなかったなーということが多くて勉強になりました。
上記3冊はCakeコミュニティの中心人物が勢揃いで書いているような感じですね。 みんな優しいし面白いしコミュニティにご興味がある方はカモンですよ。
それでは!