work around:
$obj = $foo->get("bar");
$obj->getBaz();
it is a better way as you don't have to re-repeat the function code and
re-pass the oblect.
--
Maxim Maletsky
[EMAIL PROTECTED]
"Terry McBride" <[EMAIL PROTECTED]> wrote... :
> 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