公式ドキュメントの 独自のオブザーバーを書く で説明されていますが、改めてメモ。
// fuel/app/classes/observer/something.php
class Observer_Something extends Orm\Observer
{
public function after_insert(Orm\Model $model)
{
\Log::info('Succesfully created new object of class '.get_class($model));
}
}
これを Postモデルに適用する場合
<?php
//fuel/app/classes/model/post.php
use Orm\Model;
class Model_Post extends Model
{
// ...
protected static $_observers = array(
'Orm\Observer_CreatedAt' =>; array(
'events' =>; array('before_insert'),
'mysql_timestamp' =>; false,
),
'Orm\Observer_UpdatedAt' =>; array(
'events' =>; array('before_save'),
'mysql_timestamp' =>; false,
),
'Observer_Somthing' =>; array(
'events' =>; array('after_insert'),
),
);
// ...
}