すごくまじめにCakePHPのドキュメントを読んだ結果 その1

CakePHP2

■CakeのライブラリとDocumentRootを分離しておくのもありっちゃあり

/usr/lib/cakeにCakeのコア
/home/systemuser/hogehoge/appがアプリケーション

→ カスタムしたCakeを共有する場合などに利用できるかと思います。
http://book.cakephp.org/2.0/ja/installation/advanced-installation.html
の下の方に書いてあるよ

■niginx + PHP-FPMでも動くっぽい

マニュアルに書いてあるから、動くんじゃないかな?

http://book.cakephp.org/2.0/ja/installation/url-rewriting.html
の中盤。nginxの事が書いてあるところ

■findByIdというのがある

主キーだけで単一のデータを取得する場合はこれでいいんじゃね?

■コントローラーの扱い

コントローラ - 2.x

コントローラはモデルとビューの仲介者とみなすことが出来ます。 コントローラは薄くシンプルに、モデルを大きくしましょう。そうすれば、あなたの書いたコードは再利用しやすくなり、そして簡単にテスト出来るでしょう。

ですって。コントローラーは軽量にするというのが推奨されているみたい。

■リクエストライフサイクルコールバック

ってなんだろうと思ったら

・beforeFilter()
・beforeRender()
・afterFilter()

のことなんですね。

■コントローラーの便利関数的な

有効な使い方は、よくわからないのが幾つかありますが。

 の中盤~終盤辺り

・referer

プログラム内からリファラを返す

・disableCache

ヘッダにキャッシュをしない設定を紛れ込ませる

・postConditions【これは便利そう】

POSTされたモデルのデータ(HtmlHelperに互換性のある入力からのデータ)をモデルのfind条件にセットするための形式に変換ためのメソッドです。

・requestAction

プログラム中で、任意のコントローラーを呼び出すことができる。何に使うんだろう。共通処理でであれば、コンポーネントとかでいいと思うんだけど。。

■reqest系で便利そうなやつ

リクエストとレスポンスオブジェクト - 2.x

・input関数

// PUT/POSTアクションで投稿されたデータをXmlエンコードで取得する

$data = $this->request->input('Xml::build', array('return' => 'domdocument'));

・isによる、アクセス形式の検出

ajaxとsslあたりは便利そうですね。

is('get') 現在のリクエストがGETかどうかを調べます。
is('put') 現在のリクエストがPUTかどうかを調べます。
is('post') 現在のリクエストがPOSTかどうかを調べます。
is('delete') 現在のリクエストがDELETEかどうかを調べます。
is('head') 現在のリクエストがHEADかどうかを調べます。
is('options') 現在のリクエストがOPTIONSかどうかを調べます。
is('ajax') 現在のリクエストが X-Requested-With = XMLHttpRequestに由来するものかどうかを調べます。
is('ssl') リクエストがSSL経由かどうかを調べます。
is('flash') リクエストにFlashのUser-Agentがあるかどうかを調べます。
is('mobile') リクエストがモバイルエージェントの共通リストに由来しているかどうかを調べます。

・UAとかも取れるんですね。

http://book.cakephp.org/2.0/ja/controllers/request-response.html#cakerequest-api
.htaccessじゃなくて、プログラム中に全部収めてしまうのもいいかもしれないです。
設定ファイルとかを別途作ってそちらで管理するのがいいかもです。

・php の header関数みたいなことができる

リクエストとレスポンスオブジェクト - 2.x

disabeCacheは便利そう。

■Scaffolding

CakePHPのスキャフォールディングはかなり素晴らしいです。
って公式が自分で言っている

→ あくまでプロトタイプ作成用途という公式の会見。最終的には面倒臭がらずに作れって書いてある。

 

またそのうち、まとめます。