作为函数调用的PHP类

作为函数调用的PHP类,php,class,function,Php,Class,Function,有没有办法编写一个可以像函数一样调用的类?我的意思是这样的: class test{} $test = new test; $test(); 我尝试了_调用magic方法,但它只能在访问它的现有方法时使用。也许可以使用SPL类或接口来完成此操作?使用: 但是您需要PHP5.3来实现这一点 另一种取决于您尝试执行的操作的替代方法可能是使用。您尝试生成什么?$someclass不是描述性的。它不会以单一的方式向代码的读者描述您打算做什么。函数名应该是描述性的,它们应该向您和您的代码读者显示,他们不

有没有办法编写一个可以像函数一样调用的类?我的意思是这样的:

class test{}
$test = new test;
$test();
我尝试了_调用magic方法,但它只能在访问它的现有方法时使用。也许可以使用SPL类或接口来完成此操作?

使用:

但是您需要PHP5.3来实现这一点


另一种取决于您尝试执行的操作的替代方法可能是使用。

您尝试生成什么?$someclass不是描述性的。它不会以单一的方式向代码的读者描述您打算做什么。函数名应该是描述性的,它们应该向您和您的代码读者显示,他们不知道您的意图,可能在几个月后就是您。所以:想想你想做什么,然后为它创建一个函数$test->GetFoo或$test->CreateBar显示您在函数中所做的操作,而不必查看它。@CodeCaster您是对的,但为函数中最重要的方法添加快捷方式可能会很有用。例如,我很抱歉,但对我来说,这仍然不能作为一个有效的借口。现在还不清楚$test会发生什么,它需要处于什么状态,它是否返回了什么,以及它是否会出错,等等。我不同意你的看法。如果你有一份有效的文件,你可以做任何事情。如果记录代码,我写了一篇教程,说可以调用测试类作为函数来完成特定任务,我看不出有任何问题。太好了,这就是我想要的。谢谢
class test{
    public function __invoke()
    {
        return 'fooo';
    }
}

$test = new test;
print $test();