2007年11月21日
このケーキはメチャクチャ美味しいな!「CakePHP」
ここ最近、ブログの更新が停止気味で申し訳ございません。
実はケーキを食べるのに必死でした。といってもお菓子のケーキではなくWeb開発で使用する「CakePHP」とういう物に没頭してしまったのです。
以前から、フレームワークには興味があったのですが、PHPのフレームワークにはZend FrameworkやEthna、Symfonyなど数多くのフレームワークがあって、実際にどれを使用するべきかは悩みどころでした。
今回のCakePHPは仕事の関係上、触る必要があったので、これを機に本格的な勉強を始めてみたのですが、これが本当に良くできていてすっかりハマってしまいました。今まで知らずにいたのが非常にもったいなかったです。
CakePHPを使用すれば今まで、Web開発で掛かっていた費用はおそらく半分から2/3ぐらいまでは下げれるのではないでしょうか?もし、「こんなサイトを作りたい」という方がいればぜひともご相談ください。(ちょっと宣伝(^_^))
CakePHPに関する説明は各所(サイト)で書かれているので下記に私なりのCakePHPの魅力をちょっとだけまとめてみました。
「新規登録」「閲覧」「編集」「削除」「一覧」が瞬間作成
「瞬時に作成」というとちょっと大げさかもしれませんが、データベースさえできていればすぐに出来上がります。おそらく10分程度あればできるでしょうね。既にCakePHPを使用したWebサイトは存在していて50画面ものWebページをたった半日で作ってしまった例もあるそうです。(もちろんデザイン等は除きますが)
プログラムのコーティング量が少ない
今まで8000行もプログラムを書いていたのが、CakePHPを使用することによって2000行で済んでしまった例があるぐらいプログラムのコーティング量がぜんぜん少ないです。
テンプレートエンジンは不要
実際に処理をするプログラムとデザイン部分のHTMLが別々なので無理してテンプレートエンジンを使用する必要はありません。もし、Smartyなどのテンプレートエンジンを使用したければもちろん使用することができます。
デザイン(HTML)のタグはPHPタグ
Smartyなどのテンプレートエンジンを使用するとテンプレート内には専用のタグを使用しますが、専用のタグはありません。使用するのはPHPのコードです。その為、わざわざ専用のタグを覚える必要はありません。
セキュリティ対策は実施済み
完璧なセキュリティ対策ができているかは検証してみないとわかりませんが、基本的なSQLインジェクションなどの対策は施されています。
管理画面との切り分けも簡単
コントローラ内のイベント名とビューを少し編集するだけで管理画面用のアドレスに変えることができます。一般公開用のページと管理ページの切り替えがすごく楽です。
外部ライブラリとの連携が可能
まだ試したことはないですが、上記のSmartyやPearなどの外部ライブラリとの連携が可能です。
SQL文を書かない
データベースやSQLの知識は必要ですが、特別なSQLを使用しない限り、SQL文を一切書かなくてもシステムを構築することができます。
PHP4/5のどちらでも動作
PHP4とPHP5のどちらでも動作します。ただ、まったく問題ないかというとちょっと疑問なところはありますが・・・。それで先日はまりました(^_^;)
充実した日本語情報
Web上ではRoRの様に充実して否かもしれませんが、日本語のプログラマーズ リファレンスガイドもありますし、フォーラムも存在します。プログラマーズ リファレンスガイドのチュートリアルを試してみるだけでCakePHPの良さを少しはわかるのではないでしょうか。
CakePHPの公式本
先日発売されたばかりなのですが、CakePHPの公式本があります。私も購入しましたが、CakePHPの基本的な部分はもちろんのこと、その応用例や外部ライブラリとの連携、ユニットテスト、パフォーマンスの改善、ソースコードの読み方などWebサイトでは拾いきれない情報が数多く詰め込まれています。興味のある方はぜひ購入を!(Amazonはこちら)
まだまだ、沢山のCakePHPの魅力はあるかもしれませんが、とりあえずここまで。とにかくPHPを使っている方は一度お試しあれ。今までのコーティングはなんだったんだろう・・・。と思ってしまいます。(^^)
CakePHPガイドブック
posted with amazlet on 07.11.21
安藤 祐介 新原 雅司 堂園 俊郎
毎日コミュニケーションズ (2007/10/25)
売り上げランキング: 2213
毎日コミュニケーションズ (2007/10/25)
売り上げランキング: 2213
タグ :CakePHP
Category is PHP.
<%PingExcerpt%>
<%PingBlogName%> at <%PingDateTime%>