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

Reply via email to