我注意到在 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 行上非对象的属性
任何人都可以解释函数如何成为对象吗? 如果是这样,我如何从函数对象中获取值。
如果在函数中返回对象,则可以直接从函数返回值调用该对象。
在您的测试用例中:
public function test($arg)
{
$want = new ExampleTwo;
return $want;
}
如果你有这个:
$Obj = new Example;
echo $Obj->test('random')->want
这将回显 ExampleTwo 类的 "want" 属性,该属性在示例代码中为 NULL。