FuelPHP-イベント
アン eventプログラム自体によって処理される可能性のある、プログラムによって認識されるアクションまたはオカレンスです。たとえば、my_fuel_eventという名前のアクションまたはイベントを定義し、イベントmy_fuel_eventが呼び出されるたびに何らかの作業を行うことができます。FuelPHPはクラスを提供しますEvent アプリケーションのイベントを操作します。
システムイベント
FuelPHPは、定義されたイベントがアプリケーションによって呼び出されたり起動されたりするたびに、何らかの作業を実行できるイベントの一部を定義しました。このヘルプは、FuelPHPのコアコードファイルを変更せずにFuelPHPの動作を変更することです。事前定義されたイベントは次のとおりです-
app_created −このイベントは、FuelPHPフレームワークが初期化された後にトリガーされます。
request_created −このイベントは、新しいRequestオブジェクトが偽造された後にトリガーされます。
request_started −このイベントは、リクエストの実行がリクエストされたときにトリガーされます。
controller_started −このイベントは、コントローラーのbefore()メソッドが呼び出される前にトリガーされます。
controller_finished −このイベントは、コントローラーのafter()メソッドが呼び出され、応答が受信された後にトリガーされます。
response_created −このイベントは、新しいResponseオブジェクトが偽造された後にトリガーされます。
request_finished −このイベントは、リクエストの実行が完了し、レスポンスが受信されたときにトリガーされます。
shutdown −このイベントは、メインリクエストが処理され、出力が送信された後にトリガーされます。
特別な構成ファイルでイベントを処理できます。 fuel/app/config/events.php 次のように-
<?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
},
),
);
イベントメソッド
イベントクラスは、イベントを登録、登録解除、および発生させるためのメソッドを提供します。それらは次のとおりです、
登録()
registerメソッドを使用すると、ファイルは、triggerメソッドが呼び出されたときに実行されるオブジェクトを登録できます。
$my_event_code = function() {
echo 'my event';
}
Event::register('my_event', $my_event_code);
unregister()
unregisterメソッドを使用すると、ファイルは、triggerメソッドが呼び出されたときに実行されるオブジェクトの登録を解除できます。
Event::unregister('my_event', $my_event_code);
引き金()
triggerメソッドは、registerメソッドを介して関連付けられたコールバックをトリガーまたはアクティブ化するために使用されます。
Event::trigger('my_event');
has_events()
has_eventsメソッドを使用できるため、特定の登録済みイベントにトリガーがあるかどうかを確認できます。
Event::has_events('my_event');
フォージ()
forgeは新しいイベントオブジェクトを返します。
$event = Event::forge();
instance()
インスタンスは、新しいイベントオブジェクトシングルトンを返します。
$event = Event::instance('event_instance');