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" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> 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 > > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php