이 기사에서는 이벤트 관리자를 사용하여 Phalcon에서 관찰 모드를 구현하고 코드 예제와 함께 주요 단계를 표시하는 방법을 사용합니다.
use Phalcon\Events\Event;
use Phalcon\Mvc\User\Component;
class MyListener extends Component
{
public function beforeNotify(Event $event, $source, $data)
{
echo "실행 전,소스 객체:" . get_class($source) . ",데이터:" . $data . "<br>";
}
public function afterNotify(Event $event, $source, $data)
{
echo "실행 후,소스 객체:" . get_class($source) . ",데이터:" . $data . "<br>";
}
}
이 리스너는 방법 전과 오후에 관련 정보를 출력합니다.
use Phalcon\Events\Manager;
$eventsManager = new Manager();
$myListener = new MyListener();
$eventsManager->attach('notify:before', $myListener);
$eventsManager->attach('notify:after', $myListener);
위의 코드는 $ MyListener를 두 이벤트에 바인딩합니다 . 이전 및 알림 : 이벤트가 트리거되면 청취자가 해당 메소드를 실행하도록합니다.
$eventsManager->fire('notify:before', $someObject, 'Some Data');
$eventsManager->fire('notify:after', $someObject, 'Some Data');
여기 $ someObject 는 이벤트의 소스 객체이며 '일부 데이터'는 전달 된 데이터입니다. 리스너는이 정보를 처리하기 위해 이벤트 유형에 따라 해당 메소드를 호출합니다.
실행 전,소스 객체:SomeObject,데이터:Some Data
실행 후,소스 객체:SomeObject,데이터:Some Data