FuelPHP-이벤트
안 event프로그램 자체에서 처리 할 수있는 프로그램이 인식하는 조치 또는 발생입니다. 예를 들어, my_fuel_event라는 이름의 액션 또는 이벤트를 정의한 다음 이벤트 my_fuel_event가 호출 될 때마다 작업을 수행 할 수 있습니다. FuelPHP는 수업을 제공합니다.Event 응용 프로그램의 이벤트에 대해 작업합니다.
시스템 이벤트
FuelPHP는 정의 된 이벤트가 애플리케이션에 의해 호출되거나 실행될 때마다 작업을 수행 할 수있는 일부 이벤트를 정의했습니다. 이 도움말은 FuelPHP의 핵심 코드 파일을 변경하지 않고 FuelPHP의 동작을 변경하는 것입니다. 미리 정의 된 이벤트는 다음과 같습니다.
app_created −이 이벤트는 FuelPHP 프레임 워크가 초기화 된 후에 트리거됩니다.
request_created −이 이벤트는 새로운 요청 객체가 위조 된 후에 트리거됩니다.
request_started −이 이벤트는 요청 실행이 요청 될 때 트리거됩니다.
controller_started −이 이벤트는 컨트롤러 before () 메서드가 호출되기 전에 트리거됩니다.
controller_finished −이 이벤트는 컨트롤러 after () 메서드가 호출되고 응답이 수신 된 후에 트리거됩니다.
response_created −이 이벤트는 새 응답 개체가 위조 된 후에 트리거됩니다.
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);
방아쇠()
trigger 메서드는 register 메서드를 통해 연결된 콜백을 트리거하거나 활성화하는 데 사용됩니다.
Event::trigger('my_event');
has_events ()
has_events 메소드를 사용할 수 있으므로 등록 된 특정 이벤트에 트리거가 있는지 확인할 수 있습니다.
Event::has_events('my_event');
단조 공장()
Forge는 새로운 이벤트 객체를 반환합니다.
$event = Event::forge();
예()
인스턴스는 새로운 이벤트 객체 싱글 톤을 반환합니다.
$event = Event::instance('event_instance');