觀察者:简介
一个事件基底系统能让你添加行为到指定事件。當一个事件被觀察, Orm 将自动呼叫所有添加的觀察者,去看是否有任何事情要它們去做。
Orm 是 物件關聯對映(Object
Relational Mapper) 的简寫,它做兩件事:
對應你資料庫裡的資料列到物件,
并能让你在这些物件之間建立關係。
它緊隨 活动記錄模式(
Active Record Pattern),但也受到其他系统的影響。
一个事件基底系统能让你添加行为到指定事件。當一个事件被觀察, Orm 将自动呼叫所有添加的觀察者,去看是否有任何事情要它們去做。
你可以用兩種方式添加觀察者:只添加名稱让觀察者在所有事件被呼叫,
或帶著觀察者做为名稱,以及一个要让觀察者被呼叫的特定事件陣列。
當觀察者與模型在相同命名空間并且以 Observer_ 前綴時,
你可以略去 "Observer_" 前綴,其他情況下你必須提供完整的类別名稱。
class Model_Article
{
protected static $_observers = array(
'example', // 将为所有事件呼叫 Observer_Example 类別
'Orm\\Observer_CreatedOn' => array(
'events' => array('before_insert'), // 将只在 before_insert 事件呼叫 Orm\Observer_CreatedOn
)
);
}