이것은 js의 onclick과 같으며, Vendor.my_event와 같은 이벤트 이름을 정의할 수 있습니다. 사용하기 쉽도록 "열거" 클래스를 사용하여 이러한 이벤트를 기록할 수 있습니다.
으아악
문자열을 직접 작성하는 대신 코드에서 Events::MY_EVENT를 사용할 수 있습니다. 이 "열거" 클래스를 작성할 필요는 없지만 권장됩니다.
실수하면 디버깅을 용이하게 하기 위해 오류가 직접 보고됩니다
간편한 유지 관리를 위해 중앙 집중화하세요(그렇지 않으면 어떤 이벤트가 있는지 잊어버릴 수 있습니다)
(2) 이벤트 클래스 정의(컨텍스트 정의)
jQuery를 사용하면 일반적으로 이벤트 클래스를 직접 정의하지 않지만 실제로 이 이벤트 클래스도 존재합니다(기본 클래스가 사용됨). jQuery의 이벤트 콜백에서 허용되는 첫 번째 매개변수는 이벤트 클래스의 객체이고 이 객체는 e.target과 같은 일부 상황에 맞는 항목을 전달합니다.
sf의 EventDispatcher를 사용하면 유형 검사를 수행하고 콜백에 대한 컨텍스트(일반인의 용어로 이벤트 객체에서 얻을 수 있는 데이터)를 제공하기 위해 자신만의 이벤트 클래스를 정의할 수 있습니다.
으아악
(3) 트리거 이벤트
이벤트 이름과 이벤트 클래스가 있고 SF는 이미 이벤트 디스패처를 갖추고 있습니다. 이벤트를 트리거하는 데 직접 사용할 수 있습니다.
jQuery에 익숙하시나요? 이벤트 메커니즘은 항상 동일합니다:
(1) 먼저 이벤트 이름을 정의합니다
이것은 js의 onclick과 같으며, Vendor.my_event와 같은 이벤트 이름을 정의할 수 있습니다. 사용하기 쉽도록 "열거" 클래스를 사용하여 이러한 이벤트를 기록할 수 있습니다. 으아악
문자열을 직접 작성하는 대신 코드에서 Events::MY_EVENT를 사용할 수 있습니다. 이 "열거" 클래스를 작성할 필요는 없지만 권장됩니다.실수하면 디버깅을 용이하게 하기 위해 오류가 직접 보고됩니다-
간편한 유지 관리를 위해 중앙 집중화하세요(그렇지 않으면 어떤 이벤트가 있는지 잊어버릴 수 있습니다)-
(2) 이벤트 클래스 정의(컨텍스트 정의)으아악
(3) 트리거 이벤트으아악
(4) 리스너 정의(콜백)으아악
(5) 콜백이 해당 이벤트를 수신하도록 합니다으아악
구성, 즉 종속성 주입(DIC)을 사용할 수도 있습니다.으아악