Fuelphp-events
提供:Dev Guides
FuelPHP-イベント
イベント*は、プログラム自体が処理できるプログラムによって認識されるアクションまたは発生です。 たとえば、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メソッドを使用すると、トリガーメソッドが呼び出されたときに実行されるオブジェクトをファイルに登録できます。
$my_event_code = function() {
echo 'my event';
}
Event::register('my_event', $my_event_code);
unregister()
unregisterメソッドを使用すると、トリガーメソッドが呼び出されたときに実行されるオブジェクトのファイルを登録解除できます。
Event::unregister('my_event', $my_event_code);
引き金()
トリガーメソッドは、registerメソッドを介して関連付けられたコールバックをトリガーまたはアクティブ化するために使用されます。
Event::trigger('my_event');
has_events()
has_eventsメソッドを使用できるため、特定の登録済みイベントにトリガーがあるかどうかを確認できます。
Event::has_events('my_event');
フォージ()
フォージは新しいイベントオブジェクトを返します。
$event = Event::forge();
instance()
インスタンスは、新しいイベントオブジェクトシングルトンを返します。
$event = Event::instance('event_instance');