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/17491
> http://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 [mailto:[EMAIL PROTECTED] 
> 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
> <[EMAIL PROTECTED]>
> 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.php
>>
>>





Best regards,
 Marcus


-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to