如何使用相应的方法是 Aura 路由器调用控制器?



基于Aura Router的文档,为了定义一个新的路径(例如GET方法(,我们可以使用以下代码片段:

$map->get('blog.read', '/blog/{classname}/{method}/{param}', function ($request) {
$className = $request->getAttribute('classname');
$methodName = $request->getAttribute('method');
$param = $request->getAttribute('param');
$response = new ZendDiactorosResponse();
$response->getBody()->write("You asked for blog entry {$id}.");
return $response;
});

如果$className在同一文件中定义,我们可以这样使用它:

...
$param = $request->getAttribute('param');
$classInstance = new $classname();
$output = $classInstance->$methodName($param);
$response = new ZendDiactorosResponse();
...

但是,如果类是在另一个文件中定义的(例如,不同的命名空间,如供应商\控制器\类名(,我该如何实例化它?

在 Aura 路由器中使用类的唯一方法是在控制器中定义它或使用顶部的 use 语句加载类。

最新更新