TP5.1 鈎子與行為應用


什么是行為:

可以將行為理解為是一個行為類的方法,在框架中行為類、行為方法則是有一定的規則約定;而鈎子則是這些行為方法被調用執行的位置點。注意了,要想執行某個鈎子中的行為,那行為一定要在應用程序執行到該鈎子之前進行綁定

特點:

 

  • 一個鈎子可以綁定多個行為,執行到某個鈎子位置后,會按照綁定的順序依次執行相關的行為。

  • 在某種特殊情況下,可以設置某個鈎子只能執行一次行為,或者是設置在一個鈎子的某個行為返回false來強制終止后續的行為執行。

  • 一個行為同樣可以被綁定到多個不同鈎子。

官方預定義了一些鈎子,方便我們在程序中直接使用,在application目錄下的tag.php中,我們只需要在對應的鈎子下綁定行為即可生效,例如:

    // 應用初始化
    'app_init' => ['\\app\\index\\behavior\\Test'],

當程序初始化時會執行 \app\index\behavior\Test 類的 run 方法

我們也可以自定義鈎子,在tag.php中添加自定義鈎子

'my_action' => ['\\app\\index\\behavior\\Test'],

然后在程序對應的位置監聽這個鈎子,當程序執行到這里是會自動觸發鈎子

    public function hello($name = 'ThinkPHP5') {
        \think\facade\Hook::listen("my_action");
        return 'hello,' . $name;
    }

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM