December 3, 2011

Orm\Modelで$_observersを書く場合の注意

以前に書いた、以下2つの記事に関係します。

▼Orm\Modelでバリデーションを定義する。
http://madroom-project.blogspot.com/2011/11/ormmodel_28.html

▼Orm\Modelでリレーショナル型データベースを表現する。
http://madroom-project.blogspot.com/2011/11/ormmodel.html

サンプルとして、以下のようなコードを記載しました。
protected static $_observers = array(
    'Orm\Observer_CreatedAt' => array('before_insert'),
    'Orm\Observer_UpdatedAt' => array('before_save'),
    'Orm\Observer_Validation'=> array('before_save'),
);

どうも、以下の形を取るべきなようです。
protected static $_observers = array(
    'Orm\Observer_CreatedAt' => array('events'=>array('before_insert')),
    'Orm\Observer_UpdatedAt' => array('events'=>array('before_save')),
    'Orm\Observer_Validation'=> array('events'=>array('before_save')),
);

以下のWarningがログに吐かれていました。
--
Orm\Model::observers - Passing observer events as array is deprecated, they must be
inside another array under a key "events". Check the docs for more info.
--

慣れるまでは頻繁にログ見るようにしなくちゃな。。。

No comments:

Post a Comment