Edit report at https://bugs.php.net/bug.php?id=50029&edit=1
ID: 50029 Updated by: ni...@php.net Reported by: marc dot gray at gmail dot com Summary: __invoke() can not work as class property. Status: Analyzed -Type: Bug +Type: Feature/Change Request Package: Class/Object related Operating System: * PHP Version: master Block user comment: N Private report: N New Comment: This is definitely an FR. Current behavior is intended as is, but somewhat controversial. Some reading on this topic: * https://wiki.php.net/rfc/closures/object-extension#warnings_on_direct-method_calls * http://markmail.org/message/3zi53txadno6xrqa * http://markmail.org/message/adr6ejlr4xewzo5a * http://markmail.org/message/5mhjr472jfzmkhd4 Previous Comments: ------------------------------------------------------------------------ [2013-11-03 04:41:35] yohg...@php.net I think this is bug, not FR. ------------------------------------------------------------------------ [2013-11-02 23:29:42] worldoffame at hotmail dot com Has this bug been fixed yet? Its one of the most annoying glitches in PHP, and funny it has existed for more than 4 years. ------------------------------------------------------------------------ [2013-08-29 10:50:17] worldoffame at hotmail dot com Also the argument that invoking class property could override class methods itself is just nonsense. Guess what? Its a poor design if your method shares the same name as your property anyway. If collision occurs it looks more like an improper OOP practice to me. ------------------------------------------------------------------------ [2013-08-29 10:44:14] worldoffame at hotmail dot com Any updates on this? I hope it gets fixed asap, cant believe this bug has been around for 3+ years and still left untouched. *sigh* ------------------------------------------------------------------------ [2012-06-08 12:24:34] programmierung at pfink dot de The worst thing on this bug is that is_callable() returns true in this case even though it's not callable: The lines if(is_callable($this->objectWithInvokeMethod)) return $this->objectWithInvokeMethod(0); produce the fatal error Fatal error: Call to undefined method MyClass::objectWithInvokeMethod() ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at https://bugs.php.net/bug.php?id=50029 -- Edit this bug report at https://bugs.php.net/bug.php?id=50029&edit=1