繁体   English   中英

如何使用相应的方法调用控制器是 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;
});

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

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM