Edit report at https://bugs.php.net/bug.php?id=71157&edit=1
ID: 71157
Updated by: [email protected]
Reported by: sergey dot karavay at gmail dot com
Summary: Using reserved words in magic methods
-Status: Open
+Status: Closed
Type: Bug
Package: *General Issues
Operating System: Windows 7 x64
PHP Version: 5.5.30
-Assigned To:
+Assigned To: nikic
Block user comment: N
Private report: N
New Comment:
Supported in PHP 7.
Previous Comments:
------------------------------------------------------------------------
[2015-12-18 13:45:54] gregorv at web dot de
You shouldn't just copy some stuff, but give reference to the original poster...
------------------------------------------------------------------------
[2015-12-18 11:21:55] sergey dot karavay at gmail dot com
Description:
------------
Define __call and __callStatic methods for a class. Then try to call both static and non-static methods as a reserved keyword (for example, list).
Test script:
---------------
<?php
class Testing {
public function scopeList() {
echo "scopeList";
}
public function __call($method, $parameters) {
if($method == "list") {
$this->scopeList();
}
}
public static function __callStatic($method, $parameters) {
echo 1; die();
$instance = new static;
call_user_func_array([$instance, $method], $parameters);
}
}
Testing::list(); // fails
Testing::{'list'}(); // works
$testing = new Testing();
$testing->list(); //works
Expected result:
----------------
The same behavior for both (both fails or both works).
Actual result:
--------------
Fails for static call, works for non-static.
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=71157&edit=1
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.