如何在PHP5中链接混合类型的对象

如何在PHP5中链接混合类型的对象,php,oop,chaining,Php,Oop,Chaining,我希望像这样链接引用字符串属性: echo($object1->object2->stringProperty); 但这会产生这样的错误: 可捕获的致命错误:类[Object 2的类型]的对象无法转换为字符串 我可以通过强制在那里的某个地方进行类型转换来完成这项工作吗?对中间对象使用中间变量是可行的,但这增加了令人遗憾的缺点: class foo { public $bar; } class bar { public $title; } // Initializ

我希望像这样链接引用字符串属性:

echo($object1->object2->stringProperty);
但这会产生这样的错误:

可捕获的致命错误:类[Object 2的类型]的对象无法转换为字符串

我可以通过强制在那里的某个地方进行类型转换来完成这项工作吗?对中间对象使用中间变量是可行的,但这增加了令人遗憾的缺点:

class foo {
    public $bar;
}

class bar {
    public $title;
}

// Initialize the example.
$myBar = new bar();
$myFoo = new foo();
$myFoo->bar = $myBar;
$myBar->title = "fubar";

// Using an intermediate object works.
$temp = $myFoo->bar;
echo("$temp->title<br />");

// Using a direct reference raises a fatal error.
echo("$myFoo->bar->title<br />");
class-foo{
公共酒吧;
}
分类栏{
公有产权;
}
//初始化示例。
$myBar=新条();
$myFoo=新foo();
$myFoo->bar=$myBar;
$myBar->title=“fubar”;
//使用中间对象是有效的。
$temp=$myFoo->bar;
回声($temp->title
); //使用直接引用会引发致命错误。 回声($myFoo->bar->title
);
删除引号:

echo $myFoo->bar->title . "<br />";
echo$myFoo->bar->title。“
”;
或放在大括号中(也称为复杂语法):

echo“{$myFoo->bar->title}
”;
删除引号:

echo $myFoo->bar->title . "<br />";
echo$myFoo->bar->title。“
”;
或放在大括号中(也称为复杂语法):

echo“{$myFoo->bar->title}
”;
@sam dufel$object 2是一个对象。在上面的示例代码中,它是类栏。@sam dufel$object 2是一个对象。在上面的示例代码中,它是类栏。