라이브러리

[PHP] EventListener::setCallback - setCallback 목적




EventListener::setCallback


EventListener::setCallback은 PHP의 EventListener 인터페이스에 속하는 메서드입니다. 이 메서드는 이벤트 리스너에 콜백 함수를 설정하는 역할을 합니다.

EventListener 인터페이스는 PHP 8.0 버전부터 사용할 수 있으며, 이벤트 처리를 위한 표준화된 인터페이스를 제공합니다.

# 사용 방법


EventListener::setCallback 메서드는 이벤트 리스너에 콜백 함수를 설정하는 데 사용됩니다. 콜백 함수는 이벤트가 발생할 때 호출되는 함수입니다.

#hostingforum.kr
php

use EventListener;



$listener = new EventListener();

$listener->setCallback('eventName', function () {

    echo '이벤트가 발생했습니다.';

});



# 예제


EventListener::setCallback 메서드를 사용하여 이벤트 리스너를 설정하는 예제를 살펴보겠습니다.

#hostingforum.kr
php

use EventListener;



class MyEventListener implements EventListener

{

    public function onEvent(string $eventName, array $data): void

    {

        echo "이벤트 이름: $eventName
";

        echo "이벤트 데이터: " . json_encode($data) . "
";

    }



    public function setCallback(string $eventName, callable $callback): void

    {

        $this->callbacks[$eventName] = $callback;

    }



    public function trigger(string $eventName, array $data): void

    {

        if (isset($this->callbacks[$eventName])) {

            ($this->callbacks[$eventName])($data);

        }

    }



    private $callbacks = [];

}



$listener = new MyEventListener();

$listener->setCallback('myEvent', function (array $data) {

    echo "콜백 함수가 호출되었습니다.
";

    echo "이벤트 데이터: " . json_encode($data) . "
";

});



$listener->trigger('myEvent', ['name' => 'John', 'age' => 30]);



# 결과


이 예제에서는 `MyEventListener` 클래스를 정의하여 `EventListener` 인터페이스를 구현합니다. `setCallback` 메서드를 사용하여 이벤트 리스너에 콜백 함수를 설정하고, `trigger` 메서드를 사용하여 이벤트를 발생시킵니다.

결과적으로, 콜백 함수가 호출되고 이벤트 데이터가 출력됩니다.

#hostingforum.kr


콜백 함수가 호출되었습니다.

이벤트 데이터: {"name":"John","age":30}



EventListener::setCallback 메서드는 이벤트 리스너에 콜백 함수를 설정하는 데 사용됩니다. 이 메서드는 이벤트 처리를 위한 표준화된 인터페이스를 제공하며, 이벤트 리스너를 설정하고 이벤트를 발생시키는 데 사용할 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 574 페이지

검색

게시물 검색