Re: method chaining

From: Date: Mon, 11 Nov 2002 16:45:18 +0000
Subject: Re: method chaining
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-123829@lists.php.net to get a copy of this message
If I have understood correctly what you want to do then this will do fine... $foo->${$foo->get("bar")}->getBaz(); / Johan ----- Original Message ----- From: "Terry McBride" <terry@boxitllc.com> To: <php-general@lists.php.net> Sent: Monday, November 11, 2002 4:53 PM Subject: [PHP] method chaining > Hello, > > I have a question about php and OO. I want to chain methods together having > them performed on the results of the following method. Meaning something > like $foo->get("bar")->getBaz(). > > I get the following error from the script bellow. > Parse error: parse error, unexpected T_OBJECT_OPERATOR, expecting ',' or ';' > in /usr/local/apache/php/testchain.php on line 47 > > Anybody know why I can't do this? Anyway to make it it one statement > instead of $tmp = $foo->get("bar"); $tmp->getBaz(); -- lame --? > Is their a config setting or something? > > Thanks in advance, > Terry > > <?php > > class Foo > { > var $vector = array(); > function Foo() > {} > > function put($name, $value) > { > $this->vector[$name] = $value; > return $this->vector[$name]; > } > > function get($name) > { > return $this->vector[$name]; > } > > } > > class Bar > { > var $baz = ""; > > function Bar() {} > > function setBaz($value) > { > $this->baz = $value; > return $this->baz; > } > function getBaz() > { > return $this->baz; > } > } > > $bar = new Bar(); > $bar->setBaz("test succeeded"); > > $foo = new Foo(); > $foo->put("bar", $bar); > > echo $foo->get("bar")->getBaz(), "<br>"; > > ?> > > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > >

« previous php.general (#123829) next »