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