Php 如何在zend framework 2中添加新模块

Php 如何在zend framework 2中添加新模块,php,zend-framework2,Php,Zend Framework2,我只是从ZF2开始。我安装了ZF2,创建了VirtualHost,并且可以看到欢迎页面。然后我在模块目录中添加了一个新模块,然后在application.config.php中添加了模块名,但每次 找不到 在此服务器上找不到请求的URL/应用程序 ZF2附带一个名为application的默认模块,因此如果我点击类似“virtualhostname/application”的URL,那么它也应该显示欢迎页面,对吗?但我看到了相同的“未找到”消息。不要误解路由名称的模块名称。如果查看module.

我只是从ZF2开始。我安装了ZF2,创建了VirtualHost,并且可以看到欢迎页面。然后我在模块目录中添加了一个新模块,然后在application.config.php中添加了模块名,但每次

找不到

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


ZF2附带一个名为application的默认模块,因此如果我点击类似“virtualhostname/application”的URL,那么它也应该显示欢迎页面,对吗?但我看到了相同的“未找到”消息。

不要误解
路由名称的
模块名称。如果查看
module.config.php
内部,您将看到以下语法的数组:

'router' => array(
    'routes' => array(
        '$routeName' => array(
            // $routeParams 
        )
    )
)
在本例中,
$routeName
当然始终是一个定义路由名称的字符串。要知道哪个URL附加到该路由,您需要查看
$routeParams
。这通常如下所示:

'type' => '$routeType',
'options' => array(
    'route' => '$theRoute'
)
$routeType
也总是一个字符串。在这里,人们通常为定义的routetype添加一个短名称(向上滚动一点)。或者,也可以给出特定路由的完整类名

options
数组中,您可以定义路由所需的选项。一个始终是
路线
,因为这是路线的匹配标准。以下示例:

'route' => '/test'
Matching URL: http://myproject.dev/test
然而,有一个陷阱,那就是儿童路线。当存在子路由时,
路由
选项将附加到其父路由。例如:

'route' => '/test'   // <- This is the PARENT Route
'route' => '/foobar' // -< This is the CHILD Route
Matching URL: http://myproject.dev/test/foobar
'route'=>'/test'/'/foobar'/-<这是子路由
匹配的URL:http://myproject.dev/test/foobar

希望这能帮助您理解框架路由。始终可以从

中收集更多信息,在application.config.php中添加模块名称,然后在module.config.php中添加路由。当然,您必须在module.config.php中的“invokables”数组中添加invoke控制器,才能添加需要在中的以下数组中定义新模块名称的任何新模块 config文件夹中的application.config.php文件。假设您需要添加新模块“Admin”。你 可在此处设置如下:

return array(
'modules' => array(
    'Application',
    'Admin',
),

注意:应用程序是默认模块。

在zend framework 2中添加/创建任何新模块。它通过一些简单的步骤提供了一个工具来完成这项工作

1) 将ZFTool下载到zend framework的官方网站。 2) 将其解压缩到项目的根文件夹中。 3) 通过以下命令访问它(项目路径>php zftool/zf.php创建模块名项目路径)

你可以得到更多的细节


还要确保在module.config.*(php)中注册模块控制器,非常感谢您抽出时间。到目前为止,我已经创建了一个或两个模块,这些模块工作正常,然后我为zf2设置了另一个环境,我在新环境的模块目录中复制了相同的模块。所以我只需要在application.config.php中注册模块名,因为模块内的配置工作正常。这就是我被卡住的地方。请选择application.config.php文件位置??