#47601 [Opn->Csd]: defined() requires class to exist when testing for class const (only in PHP_5_2)
| From: | iliaa@php.net | Date: | Mon, 08 Feb 2010 12:31:40 +0000 |
| Subject: | #47601 [Opn->Csd]: defined() requires class to exist when testing for class const (only in PHP_5_2) | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-147325@lists.php.net to get a copy of this message | ||
ID: 47601
Updated by: iliaa@php.net
Reported By: david at grudl dot com
-Status: Open
+Status: Closed
Bug Type: Scripting Engine problem
Operating System: *
PHP Version: 5.2CVS-2009-03-10
New Comment:
This bug has been fixed in SVN.
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:
------------------------------------------------------------------------
[2010-02-08 12:31:34] svn@php.net
Automatic comment from SVN on behalf of iliaa
Revision: http://svn.php.net/viewvc/?view=revision&revision=294761
Log: Fixed bug #47601 (defined() requires class to exist when testing
for class constants).
# Unifies behaviour with 5.3+
------------------------------------------------------------------------
[2009-03-09 00:15:49] david at grudl dot com
It seems this bug exists only in 5.2.x branch (since 5.2.4 - 5.2.9).
PHP 5.3.0beta1 which is older than 5.2.9 is not affected.
------------------------------------------------------------------------
[2009-03-08 22:55:57] david at grudl dot com
Description:
------------
Function defined() is very strict whether class constant is checking.
Non-declared (and not-autoloaded) class can be rather expressed as FALSE
than fatal error.
Reproduce code:
---------------
var_dump( defined('Test::VALUE') );
Expected result:
----------------
FALSE
Actual result:
--------------
Fatal error: Class 'Test' not found
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=47601&edit=1