PHP鉤子是什麼?

PHP 寫插件 其中的HOOK 只是別人想的一個詞語,術語而已
 並沒有實際意義
 在WINDOWS編程中 HOOK==鉤子  是一種消息機制的一種
 意思就是:蚊子叮了你一口,你的大腦神經接收到了,因而指揮肢體,去趕走仍是拍死這個蚊子
 這個大腦神經就是HOOK,系統接收用戶操做,而HOOK則監視某一知足條件
 用戶輸入A ,系統接收到A,而HOOK定義接收B,那麼輸入A,則不作操做
 當輸入B了,則激活HOOK,進行執行制定代碼
 PHP的插件HOOK,好比你添加一個插件,把這個插件信息提早告訴HOOK,而後HOOK去監視用戶
 當用戶調用這個插件,HOOK就感知到了
 因而就把插件功能實現出來 編程



假若有這麼一段程序: 函數

function fun(){
    fun1();
    fun2();    
}

首先程序執行完fun1()以後執行fun2()而後fun()結束。 spa

可是,假如咱們想對函數作一些變化。好比說,fun是一個解析函數,咱們但願後期能夠提供豐富的解析函數,而究竟用哪一個函數解析,咱們但願在配置文件中配置。這個時候就能夠發揮鉤子的力量了。 插件

咱們能夠在function fun(){}中加入一個掛鉤點H,而後再執行H這個函數以前,將鉤子函數配置好,我麼就能夠根據須要來解析了。 code

例如: 事件

$h=config_item("parser_fun") ;//從配置文件中得到相應的配置信息 function fun($data){ global $h; return $h();
}

除此意外,PHP還能夠根據字符串提供本身的類,而後調用類的一個方法,傳遞某些參數,這些就爲PHP程序的編寫,以及後期的維護擴展奠基了,至關堅實的基礎。
類的實現方法,大體以下: 字符串

$c=get_class_name(); //得到類的名字 $m=get_method_name(); //得到方法的名字 $k=$c->$m(); //執行類的某一個方法

 

我的感受鉤子 整實現應該叫事件驅動

我的感受鉤子完整實現應該叫作事件驅動,或者事件觸發器,當監聽到某個事件的時候觸發某個事件。 get

相關文章
相關標籤/搜索