>백엔드 개발 >PHP 튜토리얼 >php_php 기술로 이벤트 모니터링 및 트리거링을 구현하는 방법

php_php 기술로 이벤트 모니터링 및 트리거링을 구현하는 방법

WBOY
WBOY원래의
2016-05-16 20:31:03913검색

이 기사의 예에서는 PHP에서 이벤트 모니터링 및 트리거링을 구현하는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 분석은 다음과 같습니다.

할 일도 없고 PHP에서 이벤트 모니터링을 어떻게 구현해야 할지 고민하다가 jQuery의 이벤트 바인딩 아이디어를 참고해서 간단하게 구현해봤습니다.

주요 기능:

1. 이벤트 바인딩은 여러 작업을 하나의 이벤트에 바인딩하고 일회성 이벤트 바인딩을 지원합니다.
2. 트리거 이벤트
3. 로그아웃 이벤트

코드 복사 코드는 다음과 같습니다.
클래스 이벤트
{
보호된 정적 $listens = 배열()
       
공개 정적 함수 수신($event, $callback, $once=false){
If(!is_callable($callback))은 false를 반환합니다.
​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​          true를 반환합니다.
}
       
공개 정적 함수 1($event, $callback){
           return self::listen($event, $callback, true)
}
       
공개 정적 함수 제거($event, $index=null){
           if(is_null($index))
               unset(self::$listens[$event])
        그 외
              unset(self::$listens[$event][$index])
}
       
공개 정적 함수 Trigger(){
If(!func_num_args()) 반환
>                    $이벤트 = array_shift($args)
If(!isset(self::$listens[$event]))는 false를 반환합니다.
foreach((배열) self::$listens[$event] as $index=>$listen){
$callback >                $listen['once'] && self::remove($event, $index)
                 call_user_func_array($callback, $args)
           }
}
}

다음은 호출의 몇 가지 예입니다.


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.