ID: 22749 Updated by: [EMAIL PROTECTED] Reported By: eric at evilwalrus dot com Status: Open Bug Type: Zend Engine 2 problem Operating System: Windows XP PHP Version: 5CVS-2003-03-17 (dev) New Comment:
Also pretty annoying if you want to declare a class extending the main exception class in your namespace. It simply doesn't work because its not "seen": $ php -r 'class myexception extends exception { } ' [no error, works] $ php -r 'namespace myscope { class myexception extends exception { } }' Command line code(1) : Fatal error - Class 'exception' not found I couldn't find a way to reference the global namespace. Previous Comments: ------------------------------------------------------------------------ [2003-03-17 11:33:25] eric at evilwalrus dot com If I have the following script, the class that is defined before the namespace cannot be called from within a class in the namespace. <?php class TestClass2 { function __construct() { print "TestClass2\n"; } } namespace Test { function newClass () { $new = new TestClass(); $new->newClass(); } class TestClass { function __construct() { print "TestClass\n"; } function newClass () { $new = new TestClass2(); } } } Test::newClass(); //$new = new TestClass2(); ?> This example will show the error "Fatal error: Class 'testclass2' not found in c:\usr\test.php on line 26" I'm assuming that this is done by design... but I would think that PHP would look for the class outside of the namespace since it is defined before the namespace. If you use the commented out line $new = new TestClass2; instead of the Test::newClass(); then it works properly, and the TestClass2 construct is called. As I said, I think this is done by design and isn't a bug... but I thought I would submit it because I'm not for sure. Any explination though would be very helpful to me. Thanks. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=22749&edit=1