ぐらめぬ・ぜぷつぇんのはてダ(2007 to 2011)

2007年~2011年ごろまで はてなダイアリー に書いてた記事を引っ越してきました。

モデルを使わないコントローラ再考

$usesにばしばし追加してください。逆にモデルを使いたくない場合は

class PostController extends AppController{
public $uses = null;

cakePHP モデルなしのコントローラーって作れないの? - WEBぷろぐらま〜 システム開発エトセトラ

・・・えっ 空配列じゃないの? Σ(´酈`lll)

「column DBテーブルを使わない場合にも使えますか?」(「CakePHP ガイドブック」(マイコミ), 141P, 初版第一刷)

CakePHPは、DBテーブルを使わない場合でも問題なく使用できます。
...
2. コントローラー内で設定する場合
 コントローラーに、var $uses = array(); と書くと、このコントローラーはモデルを読み込まなくなりますので、モデルファイル自体を作成する必要がなくなります。
...

続きを読む

Cakeの押しつけルールから解放されるためのメモ

将来自分が嵌っていたであろう箇所を先につゆ払いし、またそれをふまえた所感も激しく同感できそうだったので
c⌒っ*゚ー゚)っφ メモメモ

独特のモデルの性質と、コントロールの規約から解放されたい。余計なルールはムシして、わかりやすいように使っちゃうことにしました。規約を捨てたほうが使いやすくなる、という場合もある。

http://blog.takeda-soft.jp/blog/show/192

CakePHPが独特なのはORMというかDAOレベルの実装を自前で用意していて、しかもそれがController/Model相当と密に結びついている点だと思います。さらにinputタグのname属性の規約的に、Helper(=View)とも結びついていると考えられます。
この点に対してどういうスタンスを取るのか、を早期に見極めることができる、あるいはこうしたCakePHPのクセ(多分、根っこの哲学と結びついているので引きはがすのは無理だと思う)を認識できるか、で、CakePHPとうまくつきあうことができるかが決まると思います。

っつーか、そこまでしてSQL書きたくないのかね?

続きを読む

basics.php、あなどり難し。

いやー、すごいですね。CakePHPAPIマニュアルサイト。
http://api.cakephp.org/basics_8php.html
basics.phpっていうのはCakePHPが使っているユーティリティ関数がた〜くさん詰まっているファイルなんですが、↑のページにはEnumerationとVariableしか載ってないですね!
strip_pluginという関数がAPIマニュアルサイトで検索してもみつからなくて、普通にGrepしてようやくその実装を見つけられた私はさぞかし、CakePHPを使う資格が無いほど頭が悪いか頭がおかしいんでしょうね。

続きを読む