php行為和事件是什麼
#行為
行為(Behavior)是ThinkPHP擴展機制中比較關鍵的一項擴展,行為既可以獨立調用,也可以綁定到某個標籤中進行偵聽
這裡先重新描述一下為什麼要使用行為。
有兩種方法可以對類別添加特性:
1、直接修改這個類別的程式碼,加入一些成員函數和成員變數;
2、衍生,透過子類別來擴展。
很明顯第二種方法比較容易維護、易擴展。但如果需要對一個類別添加多個特性(多人在不同時期),那麼需要進行多級派生,這顯然加大了維護成本。
在 Yii 裡面,透過行為類別綁定,元件將一個或多個 CBehavior 類別的成員方法和成員變數加到自己身上,並且在不需要的時候載入掉某些 CBehavior 類別。
同時,可以透過重寫 CBehavior::events 的方法,來實現目標類別的多個事件綁定。這些事件將會在目前行為綁定到目標類別的時候,一起被綁定上。
事件
事件模型就是設計模式中的「觀察者模式」:當物件的狀態發生了變化,那麼這個物件可以將該事件通知其它對象。
為了使用事件模型,需要實現這三個步驟:1、定義事件;2、註冊事件句柄;3、觸發事件。
為什麼要做這三個步驟呢?因為對於 PHP 本身,它的執行過程不是以進程化來運行的,
更多PHP相關知識,請訪問PHP中文網!
以上是php行為和事件是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!