
SplSubject::detach 메서드는 이벤트를 detach 시키는 것이 아니라, 이벤트 소스와 이벤트 리스너를 분리하는 것입니다. detach 메서드를 호출하면 이벤트 리스너가 이벤트 소스와의 연결이 끊어지지만, 이벤트가 발생한 후에 리스너가 호출되는지 여부는 이벤트 소스의 상태에 따라 다릅니다.
예를 들어, 이벤트 소스가 이벤트를 발생시키기 위해 이벤트 리스너를 호출하는 경우, detach 메서드를 호출한 후에도 이벤트 리스너가 호출될 수 있습니다. 하지만 이벤트 소스가 이벤트 리스너를 직접 호출하는 것이 아닌, 이벤트를 발생시키는 메서드를 호출하는 경우, detach 메서드를 호출한 후에는 이벤트 리스너가 호출되지 않습니다.
따라서, detach 메서드를 호출한 후에 이벤트가 발생하는지 여부를 확인하려면, 이벤트 소스의 상태를 확인해야 합니다.
2025-06-17 18:47