CakePHP Note (v1.3) > モデル > ビヘイビア
ビヘイビア
モデルを拡張します。ビヘイビアではモデルでよく使う機能をまとめたり、データの入出力の間で処理を行なうようにbeforeFindやafterSaveなどのコールバックメソッドを実装することができます。
組み込みのビヘイビア
以下のビヘイビアがあります。ContainableBehaviorは常用できる便利なビヘイビアです。
- AclBehavior
- ContainableBehavior
- TreeBehavior
- TranslateBehavior
ビヘイビアを作成する
ビヘイビアはModelBehaviorを継承したクラスを作成し、models/behaviorsディレクトリに保存します。ビヘイビアが使われる時にはsetupメソッドが呼ばれます。setupメソッドにはモデルからモデル自身と追加パラメータが渡されます。
class TreeBehavior extends ModelBehavior { var $settings = array(); function setup(&$model, $config = array()) { $this->settings = $config; } function myCustomMethod(&$model, $data = array()) { return array_merge($model->data, $data); } function afterFind(&$model, $results, $primary){ //コールバック $results = array_reverse($results); return $results; } }