And if you have more than one parameter you will name it 
methodFromStringIntegerSampleClassBoolean ?!?

And how would you do the same for constructors ?!? Create a 
initWithStringIntegerSampleClassBoolean method which has to be called after 
object creation ?!?


-----Ursprüngliche Nachricht-----
Von: Christian Schneider [mailto:[EMAIL PROTECTED]
Gesendet: Di 16.10.2007 11:45
An: Hans Moog
Cc: internals@lists.php.net
Betreff: Re: AW: [PHP-DEV] Method overloading by method signature
 
Hans Moog wrote:
> When it would be:
> 
> ==
>   function xpath(DomDocument $arg) {
>     return new DomXPath($arg);
>   }
> 
>   function xpath(XmlTree $arg) {
>     return new DomXPath($this->loadXML($arg->getSource())));
>   }
> 
>   function xpath(string $arg) {
>     return new DomXPath($this->loadXML($arg));
>   }
> ==


function xpathFromDom($arg) {
        return new DomXPath($arg);
}

function xpathFromTree($arg) {
        return new DomXPath($this->loadXML($arg->getSource())));
}

function xpathFromString($arg) {
        return new DomXPath($this->loadXML($arg));
}


Works perfectly well. And you don't even need to document them because 
the names speak for themselves. A much simpler (and clearer) solution IMHO.

If you want an OO way I'd prefer something like
        $xpath = $obj->getXPath();
to
        $xpath = $this->xpath($obj);
anyway. This doesn't work with basic types like strings but having a 
special case there is not a problem IMHO as using those two 
interchangeably will lead to other problems anyway.

- Chris



Reply via email to