Hi:
if this change will not revert, I will ask a more clearly error
message for this,
I report a req, https://bugs.php.net/bug.php?id=55719,
which is, the error message should told user what the correct
argument list is.
and also submitted a patch for this req.
thanks
2011/9/18 Frédéric Hardy <[email protected]>:
> Hi !
>
>> For one I do think that enforcing strictness, or as I see it, clean
>> code and implementation, should be done in php. We did not do that in
>> the past and it has created more issues than anything else in the long
>> run.
>
> +1.
>
>> One solution to solve the need of having different methods or
>> constructors signatures is to support multiple signature per method or
>> constructor, as long as the signature of the parent class or interface
>> is available. This is something becoming more and more common in other
>> languages and is actually very handy. Having such things would have
>> also avoided bad (per design while necessary) sutff like the recent
>> reflection function to create objects without invoking the
>> constructor.
>
> +1.
> The possibility to defined multiple signature per method will be a great
> improvement.
>
> A class like this :
>
> class foo
> {
> function barForArray(array $array) {...}
> function barForACall(aCall $objectClass) {...}
> function barForCallable(Callable $callable) {...}
> }
>
> foreach ($arrayOfUndeterminedThings as $data)
> {
> switch (true)
> {
> case is_array($data):
> $foo->barForArray($data);
> break;
>
> case $data instanceof aCall:
> $foo->barForACall($data);
> break;
>
> case $data instanceof Callable:
> $foo->barForCallable($data);
> break;
> }
> }
>
> will become :
>
> class foo
> {
> function bar(array $array) {...}
> function bar(aCall $objectClass) {...}
> function bar(Callable $callable) {...}
> }
>
> foreach ($arrayOfUndeterminedThings as $data)
> {
> $foo->bar($data);
> }
>
> Best regards,
> Fred
> --
> ========================================================================
> Frédéric Hardy : Architecte d'application/Admin. système/Ergonome
> CV :
> http://blog.mageekbox.net/public/cv.frederic.hardy.pdf
> Blog : http://blog.mageekbox.net
> Twitter : http://twitter.com/mageekguy
> ========================================================================
>
>
> --
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>
--
Laruence Xinchen Hui
http://www.laruence.com/
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php