cakePHPを始めてみた。
感想は……?
前から気になっていたフレームワーク。
企業の開発では当たり前と聞く。
名前の通り、ある程度枠組みが決まっている。
ルールに沿ってプログラムすることで、再利用や保守がしやすいそうだ。
zend frameworkをやってみようかと思ったけど、SNSの話題で良さげだったcakePHPにしてみた。
参考書を見ながらすこしいじってみた。
part2実践編までは、実際にコードを書きながら試してみた。part3以降は暇なときに読んでいる。
なかなか分かりやすい本だ。
感想は……、MovableTypeを導入したときの感じに似ているかも。
MovableTypeはサイトの構造がtopページ、カテゴリーページ、エントリーページ、期間別ページと決まっている。
各ページのデザインは自動生成してくれるので、管理人はコンテンツ作成に集中できる。
しかし、上記サイト構造から外れたことをしようとすると、ちょっと面倒。
フレームワークも、多分同じようなものだと思う。
フレームワークを利用しなくても、同じ機能のものは作れるし、そのほうが柔軟に対応できる。
でも上手く利用すれば、かなりの作業を省力化できるだろう。
+++
cakePHPについて、これまで理解したことを、自分用にメモしておく。
・フレームワークは、データーベース(XML,RSSも含む)を扱うプログラム。データーベースを使わない用途には不適。
・データーベースのtable一つに対して、それをハンドルする同名のコントローラーが一つできる。
・ビュー(ページのデザインを指定するファイル。要するにhtmlファイル)は各コントローラーとそのメソッドごとに指定できる。
・ビューを設定しなければ、scaffold機能で基本的なフォーマットに基づいたビューを利用できる。
・ある企業(AB商事)の商品データー(商品名、所属カテゴリー、商品詳細説明)があるとする。
コントローラーはAB_controller
メソッドはcategorylist($所属カテゴリー,$ページ数)、 productdescription($商品名) 、search($キーワード)とすれば、
カテゴリーリストページは、http://hogehoge.com/AB/categorylist/所属カテゴリー/ページ数
商品詳細ページは、http://hogehoge.com/AB/productdescription/商品名
検索ページは、http://hogehoge.com/AB/search/キーワード
・コントローラー名「AB」と、DBのテーブル名は一致させるなどの、一定のルールに従うことにより、コード数が減らせる。
・モデルはSQLデーターベースだけでなく、xmlやRSSでも良い。
PEARなどを利用すると可能になる。
+++
cakePHPで遊んでみて、プログラムとデザインは分けるべきだと、身にしみて感じた。
今回の最大の成果はそのことを理解したことかも。
既存のプログラムはぐちゃぐちゃだ。少しずつでもわかりやすく治してしていこう。
【参考】
フレームワーク検討
PHPフレームワーク特集
コメント