Edit report at http://bugs.php.net/bug.php?id=51176&edit=1
ID: 51176
User updated by: majkl578 at gmail dot com
Reported by: majkl578 at gmail dot com
Summary: Static calling in non-static method behaves like
$this->
Status: Closed
Type: Bug
Package: Scripting Engine problem
Operating System: Irrelevant
PHP Version: 5.3.2RC3
Assigned To: felipe
New Comment:
Can you explain me, please, why this is not fixed in 5.3.2 stable?
"Thank you for the report, and for helping us make PHP better."
You are intentionally making PHP worse!
Previous Comments:
------------------------------------------------------------------------
[2010-03-02 13:37:35] majkl578 at gmail dot com
Will you backport this bugfix to PHP 5.3.2 branch?
Otherwise the behavior will be really odd due to presence of this bug.
------------------------------------------------------------------------
[2010-03-02 01:17:06] [email protected]
-Status: Open
+Status: Closed
------------------------------------------------------------------------
[2010-03-02 01:17:06] [email protected]
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.
------------------------------------------------------------------------
[2010-03-01 16:53:03] majkl578 at gmail dot com
Description:
------------
When calling non-existing static method from non-static method, __call()
is called instead of __callStatic().
self/static/className behaves incorrectly - like $this-> in that
context.
Verified on 5.3.2RC3, 5.3.1 and 5.3.0.
Reproduce code:
---------------
class Foo
{
public function start()
{
self::bar();
static::bar();
Foo::bar();
}
public function __call($n, $a)
{
echo 'instance';
}
public static function __callStatic($n, $a)
{
echo 'static';
}
}
$foo = new Foo();
$foo->start();
Expected result:
----------------
static
static
static
Actual result:
--------------
instance
instance
instance
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/bug.php?id=51176&edit=1