オブザーバ:はじめに
イベントベースのシステムは、特定のイベントに動作を追加できるようにします。 イベントが観測されると ORM は自動的にそれらを行うためには何があるのかどうかを確認するために追加されたすべてのオブザーバを呼び出します
ORMはオブジェクト
関係マッピングの略です。 これは、2つのことを行います: オブジェクトにデータベースのテーブルの行をマップし、
それはあなたがそれらのオブジェクト間の関係を確立することができます。
それは
Active Record パターンに従いますが、 他のシステムに影響も受けます。
イベントベースのシステムは、特定のイベントに動作を追加できるようにします。 イベントが観測されると ORM は自動的にそれらを行うためには何があるのかどうかを確認するために追加されたすべてのオブザーバを呼び出します
あなたは 2 つの方法でオブザーバを追加することができます: オブザーバをすべてのイベントのために、
またはオブザーバが呼び出す名前と多数の特定のイベントとしてのオブザーバを呼び出させる場合に、名前を加えてください。
オブザーバがモデルと同じ名前空間にあって、 Observer_ で前に置かれるとき、
あなたは "Observer_" プレフィックスを無視することができます。他の全てのケースでは、あなたは完全な classname を提供しなければなりません。
class Model_Article
{
protected static $_observers = array(
'example', // 全てのイベントで、 Observer_Example クラスを呼び出します
'Orm\\Observer_CreatedOn' => array(
'events' => array('before_insert'), // before_insert イベントのときだけ Orm\Observer_CreatedOn クラスを呼び出します
)
);
}