如何在zend框架2中添加新模块

时间:2013-01-27 08:14:44

标签: php zend-framework2

我刚开始使用ZF2。我安装了ZF2,创建了VirtualHost,我可以看到欢迎页面。然后我在模块目录中添加了一个新模块,然后在application.config.php中添加了模块名称,但每次都显示

  

未找到

     

在此服务器上找不到请求的网址/应用程序。

ZF2附带一个名为application的默认模块,所以如果我点击“virtuaHostName / application”这样的URL,那么它应该显示欢迎页面吗?但我看到同样的“未找到”消息。

4 个答案:

答案 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