-
Notifications
You must be signed in to change notification settings - Fork 195
Conversation
michalbundyra
commented
Feb 10, 2017
- fixed indents
- parenthesis on instantiating a new class
- fixed PHPDocs
- added type hinting
@@ -123,7 +123,7 @@ public function __construct( | |||
* @throws Exception\BadMethodCallException if the $method is not in $httpRouteMethods. | |||
* @throws Exception\BadMethodCallException if receiving more or less than 2 arguments. | |||
*/ | |||
public function __call($method, $args) | |||
public function __call($method, array $args) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please note this change. If someone override this method need to do the same on his extension, otherwise will get
Strict Standards: Declaration ...::__call should be compatible with Application::__call($method, array $args)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is an interesting case, as, technically, __call()
is defined originally at the engine level, which allows the user to either include or omit the typehint for the $args
(or, per the documentation, $arguments
) argument.
That said, once the method is declared by a class, whatever signature it uses must be used by any extending class.
In this particular case, while we are bumping the major version, it's a bit of a WTF for upgraders if they are overriding the class to add other virtual methods. That said, it's easy enough to correct, as PHP provides the necessary information to update your own code. I'll detail it in the migration notes when merging.
Thanks, @webimpress |