#41640 [Opn->Csd]: get_class_vars produces error on class constants

From: Date: Sat, 09 Jun 2007 08:40:02 +0000
Subject: #41640 [Opn->Csd]: get_class_vars produces error on class constants
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-113600@lists.php.net to get a copy of this message
ID: 41640 Updated by: johannes@php.net Reported By: stas at zend dot com -Status: Open +Status: Closed Bug Type: Class/Object related Operating System: * PHP Version: 5CVS-2007-06-08 (CVS) New Comment: This bug has been fixed in CVS. Snapshots of the sources are packaged every three hours; this change will be in the next snapshot. You can grab the snapshot at http://snaps.php.net/. Thank you for the report, and for helping us make PHP better. Previous Comments: ------------------------------------------------------------------------ [2007-06-08 20:30:13] stas at zend dot com Description: ------------ When class variables refers to a constant of the class using self::, get_class_vars produces a fatal error. Note that the code works if I access the class previously (uncomment commented lines in reproduction) Reproduce code: --------------- <?php class foo { const FOO = 1; public $x = self::FOO; } //$b = new foo(); //var_dump($b); var_dump(get_class_vars("foo")); Expected result: ---------------- array(1) { ["x"]=> int(1) } Actual result: -------------- Fatal error: Cannot access self:: when no class scope is active in /root/const2.php on line 9 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=41640&edit=1

« previous php.bugs (#113600) next »