Edit report at https://bugs.php.net/bug.php?id=61953&edit=1
ID: 61953 Updated by: [email protected] Reported by: dev at pp3345 dot de Summary: A function for getting class instances -Status: Open +Status: Not a bug Type: Feature/Change Request Package: Class/Object related PHP Version: 5.4.2 Block user comment: N Private report: N New Comment: This information is not easily available from the engine and tracking it would be quite expensive. If you need it, you can do it using something like this: (untested) $tracked_objects = array(); // Global class TrackedClass { public function __construct() { $GLOBAL['tracked_objects'][spl_object_hash($this)] = array( 'class' => get_class($this), 'stack' => debug_backtrace() ); } public function __destruct() { unset($GLOBAL['tracked_objects'][spl_object_hash($this)]); } } Any class you want to track can than be extended from such a class (or use 5.4 and traits) andyou can inspect $tracked_objects. Previous Comments: ------------------------------------------------------------------------ [2012-05-05 18:36:05] dev at pp3345 dot de Description: ------------ I'd like to have a function that returns all instances of a given class with information about where it was instantiated and referenced. This could really help in debugging. A possible implementation could be get_instances(string $class_name); or ReflectionClass::getInstances(string $class_name); ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=61953&edit=1
