diff --git a/src/Event/EventManager.php b/src/Event/EventManager.php index c4d407f0a70..4f56796fec3 100644 --- a/src/Event/EventManager.php +++ b/src/Event/EventManager.php @@ -320,4 +320,19 @@ public function prioritisedListeners($eventKey) { } return $this->_listeners[$eventKey]; } + +/** + * Debug friendly object properties. + * + * @return array + */ + public function __debugInfo() { + $properties = get_object_vars($this); + $properties['_generalManager'] = '(object) EventManager'; + $properties['_listeners'] = []; + foreach ($this->_listeners as $key => $listeners) { + $properties['_listeners'][$key] = count($listeners) . ' listener(s)'; + } + return $properties; + } } diff --git a/src/Utility/ObjectRegistry.php b/src/Utility/ObjectRegistry.php index 089d2374e9e..deb0659b845 100644 --- a/src/Utility/ObjectRegistry.php +++ b/src/Utility/ObjectRegistry.php @@ -221,4 +221,16 @@ public function unload($objectName) { unset($this->_loaded[$objectName]); } +/** + * Debug friendly object properties. + * + * @return array + */ + public function __debugInfo() { + $properties = get_object_vars($this); + $properties['_loaded'] = array_keys($properties['_loaded']); + return $properties; + } + + }