Re: stdClass

From: Date: Fri, 27 Feb 2004 14:42:04 +0000
Subject: Re: stdClass
References: 1 2 3 4  Groups: php.internals 
Request: Send a blank email to internals+get-8221@lists.php.net to get a copy of this message
When Im talking about something like this would come in handy obviously doesnt work! The paramter null could be added, to get desired result but to be programmatically correct: class MyOverload{ function __construct($Foo) { $this->Foo = $Foo; } // overload the constructor function __construct(String $Foo, String $Bar){ $this->Foo = $Foo; $this->Bar = $Bar; } public function doSomething(){ if($this->Foo != null && $this->Bar == null){ return $this->Foo . " needs a partner"; // do something with Foo }elseif($this->Foo != null && $this->Bar != null){ return $this->Foo . " and " . $this->Bar . " are partners"; //do something with Foo and Bar } } private $Foo; private $Bar; } $obj = new MyOverload("Mary"); print $obj->doSomething(); ----- Original Message ----- From: "Hartmut Holzgraefe" <hartmut@php.net> To: "Jakes Potgieter" <jakespotgieter@hotmail.com> Cc: "Stephan Schmidt" <schst@php-tools.net>; <internals@lists.php.net> Sent: Friday, February 27, 2004 4:20 PM Subject: Re: [PHP-DEV] stdClass > Jakes Potgieter wrote: > > It would be nice to have a base class to inherit some special > > methods as we do in Java. > > could you name which ones you think of? > > being out of the JAVA camp for several years know i no longer > know all java.object methods and properties by heart, but > PHP mechanisms like __sleep()/__wakeup(), __toString() and > the introspection related functions like get_class() and > friends should provide comparable behaviour ... > > (IMHO the fact that any object in JAVA can be casted down > to java.object is not that clever after all, and part of it > is only due to the fact that there is no other way to have > portable container classes, which is now finally solved > with generics) > > > The same as method overloading, > > one of the most important aspects missing in PHP5 and the > > new object model. > > due to the feature of optional parameters you may end up with > more than one overloaded function matching a call signature, > due to the fact that argument types in a function call > are not known at compile time signature matching would have > to happen at runtime, > and the language syntax would need to be extended to add > parameter type specifiers to function parameter declarations > (ok, we already have this one for interfaces ...) > > -- > Hartmut Holzgraefe <hartmut@php.net> >

« previous php.internals (#8221) next »