Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:38458 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 23290 invoked from network); 20 Jun 2008 12:52:45 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 20 Jun 2008 12:52:45 -0000 Authentication-Results: pb1.pair.com smtp.mail=MTinsley@dallasairmotive.com; spf=permerror; sender-id=unknown Authentication-Results: pb1.pair.com header.from=MTinsley@dallasairmotive.com; sender-id=unknown Received-SPF: error (pb1.pair.com: domain dallasairmotive.com from 66.138.198.142 cause and error) X-PHP-List-Original-Sender: MTinsley@dallasairmotive.com X-Host-Fingerprint: 66.138.198.142 66-138-198-142.dallasairmotive.com Windows 2000 SP4, XP SP1 Received: from [66.138.198.142] ([66.138.198.142:34352] helo=svr-fp-exch.dalair.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id CC/34-16112-A18AB584 for ; Fri, 20 Jun 2008 08:52:43 -0400 X-MimeOLE: Produced By Microsoft Exchange V6.0.6603.0 content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Date: Fri, 20 Jun 2008 07:51:44 -0500 Message-ID: <0489D0DE749FD2489EEB99455DEB6A7F08178926@svr-fp-exch.dalair.com> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [PHP-DEV] Overloading Thread-Index: AcjS1GOIr/L2yM3ZRpW6VgQ7CXY58g== To: Subject: RE: [PHP-DEV] Overloading From: MTinsley@dallasairmotive.com ("Tinsley, Mark") 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:saulovallory@gmail.com]=20 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 =3D 'fooFoo'; > break; > > case $Foo instanceof BooClass: > $method =3D '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 > >