ID:               44782
 User updated by:  deleet at sapo dot pt
 Reported By:      deleet at sapo dot pt
 Status:           Verified
 Bug Type:         Class/Object related
 Operating System: Fedora 6
 PHP Version:      5.3CVS-2008-04-19 (snap)
 New Comment:

Very well, dynamic referencing it is then :)

Thank you for the quick reply, is it possible to get an ETA on the fix?


Previous Comments:
------------------------------------------------------------------------

[2008-04-19 21:43:26] [EMAIL PROTECTED]

This isn't late static bindings, but it's indeed a bug, probably
relying on the fact that Testing::$func(); would have been rewritten in
compile time.


------------------------------------------------------------------------

[2008-04-19 18:34:31] deleet at sapo dot pt

Description:
------------
Possible problem with the implementation of namespaces and late static
binding.

Reproduce code:
---------------
<?php

namespace Something;

class Testing {

        function __construct() {
                
        }
        
        static function stuff() {
                echo 'I work!' . "<br />\n";
        }
}

Testing::stuff();

$var = 'Testing'; $func = 'stuff';
// No effect: use Something;
$var::$func();
?>

Expected result:
----------------
Output:
------------------
I work!
I work!

Actual result:
--------------
Output:
------------------
I work!
Fatal error: Class 'Testing' not found in //file url// on line 20
------------------

PHP is not looking for the class inside the defined namespace when
using late static binding. It works if I use $var =
'Something::Testing'; but that's not indented behaviour. Also, using the
namespace seems to have no effect.


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=44782&edit=1

Reply via email to