Re: How can I do this -- method chaining

From: Date: Tue, 29 Jan 2008 19:38:22 +0000
Subject: Re: How can I do this -- method chaining
References: 1 2  Groups: php.general 
Request: Send a blank email to php-general+get-268273@lists.php.net to get a copy of this message
On Jan 29, 2008 2:27 PM, Andrew Ballard <aballard@gmail.com> wrote: > On Jan 29, 2008 1:53 PM, Christoph Boget <christoph.boget@gmail.com> > wrote: > > Constructors return the object, correct? > > Actually, I don't think so. I believe constructors return void, while > the 'new' keyword returns a copy of the object. im pretty sure constructors return an object instance: php > class Test { function __construct() {} } php > var_dump(new Test()); object(Test)#1 (0) { } but anyway, how could you even test that __construct() returned void and the new keyword returned a copy of the object? new essentially invokes __construct() and passes along its return value, near as i can tell. Christoph, if you dont want to write a function in the global namespace, as suggested in the article, Eric posted, just add a simple factory method in your class, eg. <?php class Test { public static function getInstance() { return new Test(); } public function doSomething() { echo __METHOD__ . PHP_EOL; } } Test::getInstance()->doSomething(); ?> -nathan

« previous php.general (#268273) next »