Configuration 所有路由都在一个文件中,而不是跨模块分布。在ZF2中可能吗?

Configuration 所有路由都在一个文件中,而不是跨模块分布。在ZF2中可能吗?,configuration,routing,routes,zend-framework2,Configuration,Routing,Routes,Zend Framework2,众所周知,ZF2没有路由器。每条路由都是一个路由器: 在新的路由系统中,我们没有路由器,就像每个路由器一样 路由可以自己匹配和组装URI,这使得它们 路由器也是 ZF2现在强制您将路由放入每个模块的配置中: URL到特定操作的映射是使用 在模块的module.config.php文件中定义。打开你的 config/module.config.php文件,并对其进行修改以添加到“路由” 和“控制器”参数 对我来说,将一个实体分散在应用程序目录上并不方便。是否有可能将我所有的路由放在一个地方(例如r

众所周知,ZF2没有路由器。每条路由都是一个路由器:

在新的路由系统中,我们没有路由器,就像每个路由器一样 路由可以自己匹配和组装URI,这使得它们 路由器也是

ZF2现在强制您将路由放入每个模块的配置中:

URL到特定操作的映射是使用 在模块的module.config.php文件中定义。打开你的 config/module.config.php文件,并对其进行修改以添加到“路由” 和“控制器”参数

对我来说,将一个实体分散在应用程序目录上并不方便。是否有可能将我所有的路由放在一个地方(例如routes.php文件)?比如说:

routes.php
return array (
    'module_1' => array( ... its route/routes ...),
    'module_2' => array( ... its route/routes ...), etc.
);
如何在ZF2中实现它

我的问题是:

在ZF2模块中,倾向于提供配置,此配置合并到单个应用程序配置中。所以我看不出为什么路由器配置不能存储在它自己的配置文件中

默认情况下,ZF2将包括驻留在
config/autoload
中的配置文件,这些文件与
*global.php
*local.php
匹配,因此名为
routes.global.php
的文件应该可以工作

此默认行为在
/config/application.config.php
中定义:

'config_glob_paths'    => array(
    'config/autoload/{,*.}{global,local}.php',
),

在ZF2模块倾向于提供配置的情况下,此配置合并到单个应用程序配置中。所以我看不出为什么路由器配置不能存储在它自己的配置文件中

默认情况下,ZF2将包括驻留在
config/autoload
中的配置文件,这些文件与
*global.php
*local.php
匹配,因此名为
routes.global.php
的文件应该可以工作

此默认行为在
/config/application.config.php
中定义:

'config_glob_paths'    => array(
    'config/autoload/{,*.}{global,local}.php',
),

非常感谢。但是路由器(在ZF2中不存在)如何理解
routes.global.php
是包含应用程序范围路由的文件呢?我可以通知谁,如何通知<代码>路由器=>routes.global.php?还是其他方式?我无法理解在基于模块的配置中,您将路由放在路由器阵列密钥下-因此为了保持简单,您的文件应以返回阵列('router'=>…)等开头。需要理解的关键点是,尽管您提供了配置,但所有这些都合并在一起。因此,自动加载文件仍将获得相同的结果。谢谢。但是路由器(在ZF2中不存在)如何理解
routes.global.php
是包含应用程序范围路由的文件呢?我可以通知谁,如何通知<代码>路由器=>routes.global.php?还是其他方式?我无法理解在基于模块的配置中,您将路由放在路由器阵列密钥下-因此为了保持简单,您的文件应以返回阵列('router'=>…)等开头。需要理解的关键点是,尽管您提供了配置,但所有这些都合并在一起。因此,自动加载文件仍将获得相同的结果。