簡體   English   中英

類 - 函數對象 - PHP

[英]Class - Function Objects - PHP

我注意到在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。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM