Hello Mark,
we discussed overloading a hell lot of times an dthe conclusionj always
and every single time has been NO. It would mean a large slowdown for
every single PHP application out there and it is not really that much
halpful. In fact it makes code less readable and maintainable so it
opposes the KISS (Keep It Simple Safe) approach of PHP.
marcus
Friday, June 20, 2008, 2:51:44 PM, you wrote:
I only could find two from 2005.
http://news.php.net/php.internals/17491http://news.php.net/php.internals/14558 It doesn't look like much discussion. I'm new to that web interface; not
sure if it will show the thread.
Why don't we discuss adding this to the PHP6 release? I see it as a very
helpful addition and can't see a reason why we could not add it.
Mark
-----Original Message-----
From: Saulo Vallory
Sent: Thursday, June 19, 2008 11:12 AM
To: internals Mailing List
Subject: Re: [PHP-DEV] Overloading
I'm developing a PHP framework and had the same issue sometimes... I
think
it was already discussed in the list, did you searched the archives?
Saulo
On Thu, Jun 19, 2008 at 9:58 AM, Tinsley, Mark
wrote:
What about the addition of overloading for PHP 6?
I am not totally up to date on the developments of the parameter type
hints. I briefly read the meeting minutes for PHP 6.
What about with the type hints we have now?
class moo
{
public static function foo(FooClass $FooVar)
{
// do something
}
public static function foo(BooClass $BooVar)
{
// do something
}
}
I have a project where we had to do a sort of pseudo overloading
Class moo
{
/**
* Accept the superclass or any of its sub classes
*/
public static function foo(FooSuperClass $Foo)
{
switch (true)
{
case $Foo instanceof FooClass:
$method = 'fooFoo';
break;
case $Foo instanceof BooClass:
$method = 'fooBoo';
break;
default:
throw new Exception('Unrecognized type: ' .
get_class($Foo));
break;
}
call_user_func(array(self, $method), $Foo);
}
private static function fooFoo(FooClass $FooVar)
{
// do something
}
private static function fooBoo(BooClass $BooVar)
{
// do something
}
}
Mark
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit:
http://www.php.net/unsub.phpBest regards,
Marcus