是否可以在Silex中将类/对象方法作为回调传递?例如,我有这段代码:
class Implementation {
public function test() {
return "Hello World!";
}
}
$code = new Implementation();
$app->get('/', function() use ($code) {
return $code->test();
});
因为我不希望匿名回调中的代码我把它移到了一个类中。这是有效的,但我想知道是否有更简单的方法来写这个,如:
$app->get('/', $code->test);
到目前为止,我还没有发现任何事情,如果你们中有人有任何想法,我们真的很感激:)
答案 0 :(得分:2)
您正在寻找Controllers in Classes:
$app->get('/', 'Acme\\Foo::bar');
use Silex\Application;
use Symfony\Component\HttpFoundation\Request;
namespace Acme
{
class Foo
{
public function bar(Request $request, Application $app)
{
// ...
}
}
}