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 <frederic.ha...@mageekbox.net>: > 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