php行為和事件是什麼

2020-07-16 10:06:40

php行為和事件是什麼

行為

行為(Behavior)是ThinkPHP擴充套件機制中比較關鍵的一項擴充套件,行為既可以獨立呼叫,也可以繫結到某個標籤中進行偵聽

這裡先重新描述一下為什麼要使用行為。

有兩種辦法可以對類新增特性:

1、直接修改這個類的程式碼,新增一些成員函數和成員變數;

2、派生,通過子類來擴充套件。

很明顯第二種方法更加易維護、易擴充套件。但是如果需要對一個類新增多個特性(多人在不同時期),那麼需要進行多級派生,這顯然加大了維護成本。

在 Yii 裡面,通過行為類系結,元件將一個或多個 CBehavior 類的成員方法和成員變數新增到自己身上,並且在不需要的時候載掉某些 CBehavior 類。

同時,可以通過重寫 CBehavior::events 的方法,來實現對目標類的多個事件係結。這些事件將會在當前行為係結到目標類的時候,一起被系結上。

事件

事件模型就是設計模式中的「觀察者模式」:當物件的狀態發生了變化,那麼這個物件可以將該事件通知其它物件。

為了使用事件模型,需要實現這三個步驟:1、定義事件;2、註冊事件控制代碼;3、觸發事件。

為什麼要做這三個步驟呢?因為對於 PHP 本身,它的執行過程不是以進程化來執行的,

以上就是php行為和事件是什麼的詳細內容,更多請關注TW511.COM其它相關文章!