假设我有一个静态对象:

class everything{
    public static function must(){
        return "go!";
    }
}

当我这样做时:
echo everything::must();

我得到的答复是:
go!

这是预期的行为。
现在,出于我自己的原因(遗留代码支持),我希望能够从函数调用的返回中调用该静态对象,语法类似于:
print accessorFunction()::must(); // Or something as close to it as possible

function accessorFunction(){
    returns (reference to)everything; // Or something as close to it as possible
}

我希望我已经把问题说得够清楚了。
谢谢。

最佳答案

不能这样调用静态方法:

print accessorFunction()::must();

但可能
$class_name = accessorFunction();
print $class_name::must();

文档-http://www.php.net/manual/en/language.oop5.paamayim-nekudotayim.php

10-02 21:34