FuelPHP 事件
fuelphp 事件
事件 是程序識別的動作或事件,可由程序本身處理。例如,我們可以定義一個名為 my_fuel_event 的動作或事件,然后在調(diào)用 my_fuel_event 事件時做一些工作。 fuelphp 提供了 event 類來處理應(yīng)用程序中的事件。
系統(tǒng)事件
fuelphp 定義了一些事件,只要應(yīng)用程序調(diào)用或觸發(fā)定義的事件,我們就可以通過這些事件進(jìn)行一些工作。這個幫助改變了 fuelphp 的行為,而不改變 fuelphp 的核心代碼文件。預(yù)定義的事件如下:
- app_created-該事件將在 fuelphp 框架初始化后觸發(fā)。
- request_created-在偽造新的請求對象后將觸發(fā)此事件。
- request_started-請求執(zhí)行請求時將觸發(fā)此事件。
- controller_started-此事件將在調(diào)用控制器 before() 方法之前觸發(fā)。
- controller_finished-此事件將在控制器 after() 方法被調(diào)用并收到響應(yīng)后觸發(fā)。
- response_created-此事件將在偽造新的響應(yīng)對象后觸發(fā)。
- request_finished-當(dāng)請求的執(zhí)行完成并收到響應(yīng)時將觸發(fā)此事件。
- shutdown-在處理主請求并發(fā)送輸出后將觸發(fā)此事件。
我們可以處理特殊配置文件中的事件, fuel/app/config/events.php 如下:
return array ( 'fuelphp' =--> array ( 'app_created' => function() { // after fuelphp initialised }, 'request_created' => function() { // after request forged }, 'request_started' => function() { // request is requested }, 'controller_started' => function() { // before controllers before() method called }, 'controller_finished' => function() { // after controllers after() method called }, 'response_created' => function() { // after response forged }, 'request_finished' => function() { // request is complete and response received }, 'shutdown' => function() { // output has been send out }, ), );
事件方法
event 類提供注冊、注銷和觸發(fā)事件的方法。它們?nèi)缦拢?/p>
register()
register 方法允許文件注冊一個對象,該對象將在調(diào)用 trigger 方法時運(yùn)行。
$my_event_code = function() { echo 'my event'; } event::register('my_event', $my_event_code);
unregister()
取消注冊方法允許文件取消注冊將在調(diào)用觸發(fā)器方法時運(yùn)行的對象。
event::unregister('my_event', $my_event_code);
trigger()
trigger 方法用于觸發(fā)或激活通過 register 方法關(guān)聯(lián)的回調(diào)。
event::trigger('my_event');
has_events()
has_events 方法可用,因此您可以檢查特定注冊事件是否具有觸發(fā)器。
event::has_events('my_event');
forge()
forge 返回一個新的事件對象。
$event = event::forge();
instance()
該實例返回一個新的事件對象單例。
$event = event::instance('event_instance');
相關(guān)文章
- CodeIgniter 教程
- CodeIgniter MVC 框架
- CodeIgniter 庫
- CodeIgniter 文件上傳
- CodeIgniter 發(fā)送電子郵件
- CodeIgniter 常用函數(shù)
- CodeIgniter 國際化
- CakePHP 安裝
- CakePHP 查看元素
- CakePHP 表單處理
- FuelPHP 路由
- FuelPHP 表單編程
- FuelPHP 文件上傳
- FuelPHP Cookie
- FuelPHP 電子郵件管理
- FuelPHP 工作示例
- Laravel 路由
- Laravel 響應(yīng)
- Laravel 認(rèn)證
- Laravel 授權(quán)