라이브러리

[PHP] Event::setPriority - 이벤트 우선 순위 설정




PHP 에서 Event::setPriority는 EventDispatcherInterface를 구현한 클래스에서 사용되는 메서드입니다. 이 메서드는 이벤트의 우선순위를 설정하는 데 사용됩니다.

Event::setPriority 메서드


Event::setPriority 메서드는 이벤트의 우선순위를 설정하는 데 사용됩니다. 우선순위는 이벤트가 처리되는 순서를 결정합니다. 우선순위가 높을수록 이벤트가 먼저 처리됩니다.

예제


#hostingforum.kr
php

use SymfonyComponentEventDispatcherEventDispatcher;

use SymfonyComponentEventDispatcherEvent;



class MyEvent extends Event

{

    private $message;



    public function __construct($message)

    {

        $this->message = $message;

    }



    public function getMessage()

    {

        return $this->message;

    }

}



class MyListener

{

    public function onMyEvent(MyEvent $event)

    {

        echo "Listener 1: " . $event->getMessage() . "
";

    }

}



class MyListener2

{

    public function onMyEvent(MyEvent $event)

    {

        echo "Listener 2: " . $event->getMessage() . "
";

    }

}



$dispatcher = new EventDispatcher();



$listener1 = new MyListener();

$listener2 = new MyListener2();



$dispatcher->addListener('my_event', [$listener1, 'onMyEvent']);

$dispatcher->addListener('my_event', [$listener2, 'onMyEvent']);



$dispatcher->setPriority('my_event', $listener1, 10);

$dispatcher->setPriority('my_event', $listener2, 5);



$dispatcher->dispatch('my_event', new MyEvent('Hello, World!'));



이 예제에서, `MyListener`와 `MyListener2`는 `my_event` 이벤트를 처리하는 데 사용됩니다. `setPriority` 메서드는 `MyListener`의 우선순위를 10으로, `MyListener2`의 우선순위를 5으로 설정합니다. 따라서 `MyListener`가 먼저 처리되고, `MyListener2`가 다음으로 처리됩니다.

결과


#hostingforum.kr


Listener 1: Hello, World!

Listener 2: Hello, World!



참고


* EventDispatcherInterface: [https://api.symfony.com/4.4/Symfony/Component/EventDispatcher/EventDispatcherInterface.html](https://api.symfony.com/4.4/Symfony/Component/EventDispatcher/EventDispatcherInterface.html)
* Event: [https://api.symfony.com/4.4/Symfony/Component/EventDispatcher/Event.html](https://api.symfony.com/4.4/Symfony/Component/EventDispatcher/Event.html)

이 예제는 Symfony의 EventDispatcher를 사용하여 이벤트를 처리하는 방법을 보여줍니다. Event::setPriority 메서드는 이벤트의 우선순위를 설정하는 데 사용됩니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

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

검색

게시물 검색