我刚开始使用ZF2。我安装了ZF2,创建了VirtualHost,我可以看到欢迎页面。然后我在模块目录中添加了一个新模块,然后在application.config.php中添加了模块名称,但每次都显示
未找到
在此服务器上找不到请求的网址/应用程序。
ZF2附带一个名为application的默认模块,所以如果我点击“virtuaHostName / application”这样的URL,那么它应该显示欢迎页面吗?但我看到同样的“未找到”消息。
答案 0 :(得分:1)
不要对ModuleNames
误解RouteNames
。如果您查看module.config.php
内部,您将看到以下语法中的数组:
'router' => array(
'routes' => array(
'$routeName' => array(
// $routeParams
)
)
)
在这种情况下,$routeName
当然总是一个定义路线名称的字符串。要知道哪条URL附加到该路由,您必须查看$routeParams
。这通常如下所示:
'type' => '$routeType',
'options' => array(
'route' => '$theRoute'
)
$routeType
也总是一个字符串。在这里,人们通常会为路由类型添加一个定义为here的短名称(向上滚动一点)。或者,也可以给出特定路线的完整类名。
在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
希望这有助于您了解框架路由。可以随时从official Documentation of Zend\Mvc\Router
收集更多信息答案 1 :(得分:1)
要添加任何新模块,您需要在后续数组中定义新模块名称 config文件夹中的application.config.php文件。假设您需要添加新模块&#39; Admin&#39;。您 可以在这里设置如下:
return array(
'modules' => array(
'Application',
'Admin',
),
注意:应用程序是默认模块。
答案 2 :(得分:0)
在application.config.php中添加模块名称,然后在module.config.php中添加路由。你需要在module.config.php的“invokables”数组中添加调用控制器
答案 3 :(得分:0)
在zend框架2中添加/创建任何新模块。它通过简单的一些步骤提供ZFTool来完成这项工作。
1)将ZFTool下载到zend框架的官方站点。 2)在项目的根文件夹中提取它。 3)通过命令访问它(项目路径&gt; php zftool / zf.php创建模块模块名称项目路径)
您可以了解更多详情
https://www.youtube.com/watch?v=8BNg2zPzEmI&index=5&list=PLMoDvYQTYOX3C1WZvNVLm7u3YTRvR5Zhs