我只是从ZF2开始。我安装了 ZF2,创建了 VirtualHost,我可以看到欢迎页面。然后我在模块目录中添加了一个新模块,然后在 application.config.php 中添加了模块名称,但每次都说
未找到
在此服务器上找不到请求的 URL /应用程序。
ZF2 带有一个名为 application 的默认模块,所以如果我点击“virtuaHostName/application”之类的 URL,那么它也应该显示欢迎页面,对吧?但我看到了同样的“未找到”消息。
我只是从ZF2开始。我安装了 ZF2,创建了 VirtualHost,我可以看到欢迎页面。然后我在模块目录中添加了一个新模块,然后在 application.config.php 中添加了模块名称,但每次都说
未找到
在此服务器上找不到请求的 URL /应用程序。
ZF2 带有一个名为 application 的默认模块,所以如果我点击“virtuaHostName/application”之类的 URL,那么它也应该显示欢迎页面,对吧?但我看到了同样的“未找到”消息。
To add any new module you need to define new module name in follwing array in application.config.php file in config folder. Suppose you need to add new module 'Admin'. You can set that here as follows:
return array(
'modules' => array(
'Application',
'Admin',
),
Note: Application is the default module.
不要误解ModuleNames
为RouteNames
. 如果您看一下内部module.config.php
,您会看到一个具有以下语法的数组:
'router' => array(
'routes' => array(
'$routeName' => array(
// $routeParams
)
)
)
在这种情况下$routeName
,当然总是一个定义路由名称的字符串。要知道哪个 URL 附加到该路由,您必须查看$routeParams
. 这通常如下所示:
'type' => '$routeType',
'options' => array(
'route' => '$theRoute'
)
$routeType
always 也是一个字符串。人们通常在这里为定义的路由类型添加一个短名称(向上滚动一点)。或者,也可以给出特定路线的完整类名。
在options
数组中,您将定义路线所需的选项。一个永远是route
,因为这是路线的匹配标准。以下示例:
'route' => '/test'
Matching URL: http://myproject.dev/test
然而,有一个问题,那就是子路线。当有子路由时,该route
选项会附加到它的父路由。例如:
'route' => '/test' // <- This is the PARENT Route
'route' => '/foobar' // -< This is the CHILD Route
Matching URL: http://myproject.dev/test/foobar
希望这对您理解框架路由有所帮助。更多信息总是可以从Zend\Mvc\Router 的官方文档中收集
在 application.config.php 中添加模块名称,然后在 module.config.php 中添加路由。当然,您必须在 module.config.php 的“invokables”数组中添加调用控制器
要在 zend 框架 2 中添加/创建任何新模块。它提供了 ZFTool 通过简单的一些步骤来完成此工作。
1)下载ZFTool到zend框架官网。2)将其解压缩到项目的根文件夹中。3)通过命令访问它(项目路径>php zftool/zf.php创建模块模块名称项目路径)
你可以得到更多的细节
https://www.youtube.com/watch?v=8BNg2zPzEmI&index=5&list=PLMoDvYQTYOX3C1WZvNVLm7u3YTRvR5Zhs