我注意到magento,他们调用一个被引用为对象的函数,如:
className::function('example')->example;
对我来说,它是如何工作的?我试图在测试文件中模仿这个,但我什么都没得到。
<?php
class Example
{
public function test($arg)
{
$want = new ExampleTwo;
return 1;
}
}
class ExampleTwo
{
public $want;
public function urgh($arg)
{
$this->want = "returnn";
}
}
$Obj = new Example;
echo $Obj->test('random')->want;
注意尝试在第24行获取非对象的属性
任何人都可以解释一下这个函数如何成为一个对象?如果是这样,我怎样才能从函数对象中获取值。
答案 0 :(得分:3)
如果在函数中返回一个对象,则可以直接从函数返回值调用该对象。
在您的测试用例中:
public function test($arg)
{
$want = new ExampleTwo;
return $want;
}
如果你有这个:
$Obj = new Example;
echo $Obj->test('random')->want
这将回显ExampleTwo类的“want”属性,在示例代码中它将为NULL。