Thinkphp5行為使用方法的匯總

來源:互聯網
上載者:User
這篇文章主要介紹了Thinkphp5行為使用方法匯總,需要的朋友可以參考下

在應用或模組下建 behavior目錄,目錄內建行為類檔案Test.PHP(以下以home模組為例)

namespace app/home/behavior;//注意應用或模組的不同命名空間 class Test { public function run(&$params){   echo $params;  } }

方法一

1.在入口檔案中,增加: define('APP_HOOK',true);

2.home模組下建tags.PHP檔案定義行為

return [  'app_init'=> [  'app//home//behavior//Test', //注意行為的命名空間(下同) ], 'zzzzz'=> [//自訂標籤位   'app//home//behavior//Test', ], //................. ];

3.控制器方法內需要的地方偵聽行為

/think/Hook::listen('app_init',$params);//參數為變數(下同) /think/Hook::listen('zzzzz',$params);//自訂

方法二

1.home模組的公用檔案(common.PHP)或控制器方法內綁定行為到標籤位

/think/Hook::add('app_init','app//home//behavior//Test'); /think/Hook::add('zzzz','app//home//behavior//Test');//自訂

2.控制器方法內需要的地方偵聽行為

/think/Hook::listen('app_init',$params); /think/Hook::listen('zzzzz',$params);//自訂

方法三

在控制器方法內需要的地方直接執行行為

/think/Hook::exec('app//home//behavior//Test','run',$params);

方法四

在控制器方法內直接使用閉包函數

$a='閉包函數'; /think/Hook::add('zzzz',function($a){ var_dump($a);}); /think/Hook::listen('zzzz',$a);

方法五

行為類綁定到多個標籤

1.Test.PHP定義如下:

namespace app/home/behavior;class Test {  public function app_init(&$params){  echo 'app_init';  }  public function app_end(&$params){   echo 'app_end';  } }

2.home模組的公用檔案(common.PHP)或控制器方法內綁定行為到標籤位

/think/Hook::add('app_init','app//home//behavior//Test');/think/Hook::add('app_end','app//home//behavior//Test');

3.控制器方法內需要的地方偵聽行為

/think/Hook::listen('app_init',$params); /think/Hook::listen('app_end',$params);

總結

以上所述是小編給大家介紹的Thinkphp5行為使用方法匯總,希望對大家有所協助,如果大家有任何疑問請給我留言,小編會及時回複大家的。在此也非常感謝大家對php中文網的支援!

您可能感興趣的文章:

ajax+php實現無重新整理驗證手機號的執行個體講解

PHP讀取並輸出XML檔案資料的簡單實現方法講解

thinkphp5 載入靜態資源路徑與常量的方法講解

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.