razzzila-dev /zf3-oldstyle-router
N/A
dev-master
2020-03-30 11:19 UTC
Requires
This package is auto-updated.
Last update: 2024-09-29 05:36:09 UTC
README
从 ZF3 中移除了使用请求路径查找控制器和动作的路由器。就我个人而言,我认为这是好事,你应该更明确、更严格地指定路由。但当我们从 ZF1 逐步迁移到 ZF3 的代码库时,我们仍然面临问题,尤其是在第一步我们不想重构路径。
这就是解决方案——准备就绪的“旧式”路由器,可以自动检测类和动作是否存在,并运行它们。此外,它还可以检测查询中的参数,并允许像以前一样使用它们(从请求中调用param方法)。
安装
包安装
使用 Composer
将工作目录更改到项目根文件夹并运行
composer require razzzila-dev/zf3-oldstyle-router
用法
为了配置应用程序以使用此路由器,我们必须在路由器配置中指定它。为此,打开您的应用程序配置文件module.config.php,并指定此路由器
... use Zend\Router\RouteInvokableFactory; use Application\Router\Http\OldStyle as OldStyleRouter; use Application\Controller\IndexController; return [ 'router' => [ 'routes' => [ 'default' => [ 'type' => OldStyle::class, 'options' => [ 'route' => '/[:controller[/:action[/]]]', 'defaults' => [ 'controller' => IndexController::class, 'action' => 'index', ] ], ], ], ], 'service_manager' => [ 'factories' => [ OldStyleRouter::class => RouteInvokableFactory::class, ] ] ];
在“默认”部分中,您可以找到“控制器”和“动作”参数。在这里,您可以指定一个回退控制器和动作,以防请求中没有找到控制器和动作。要指定将用于搜索的模块控制器,您可以使用“模块”选项。默认情况下,这是“Application”模块,这意味着对于请求“/index/index”,我们将搜索并触发“Application\Controller\IndexController@indexAction”。