如何在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是一个对象。在上面的示例代码中,它是类栏。