我怎样才能用相应的方法调用控制器是 Aura Router?

How can I invoke a controller with respective method is Aura Router?

根据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 Zend\Diactoros\Response();
    $response->getBody()->write("You asked for blog entry {$id}.");
    return $response;
});

如果在同一个文件中定义了$class名称,我们可以这样使用:

...
    $param = $request->getAttribute('param');

    $classInstance = new $classname();
    $output = $classInstance->$methodName($param);

    $response = new Zend\Diactoros\Response();
...

但是如果 class 是在另一个文件中定义的(例如 Vendor\Controller\ClassName 等不同的命名空间),我该如何实例化它?

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