Zend framework2 Zendframework2中单个模块下的多个控制器

Zend framework2 Zendframework2中单个模块下的多个控制器,zend-framework2,Zend Framework2,我通过ZF教程创建相册。 结构如下: module/ Album/ config/ module.config.php src/ Album/ Controller/ AlbumController.php view/ album/ ....

我通过ZF教程创建相册。 结构如下:

module/
    Album/
         config/
             module.config.php
         src/
            Album/
                Controller/
                         AlbumController.php
        view/
            album/ ....             
        Module.php
我需要在src/Album/controller下再创建一个名为UserController.php的控制器/
这可能吗?在Zendframework2中,这是正确的方法吗?

您需要在
module.config.php

'controllers'  => array(
    'invokables' => array(

        [... some other controller defined here too ...]

        'Album\Controller\User' => 'Album\Controller\UserController',
    )
)
然后在
Album/src/Album/Controller/
中创建新控制器,并将其命名为UserController.php。该文件将成为命名空间和类名:

namespace-Album\Controller

class UserController extensed\Zend\Mvc\Controller\AbstractActionController

一些
indexAction
方法返回
new\Zend\View\Model\ViewModel()

然后可以在中创建视图文件

Album/view/Album/user/index.phtml


是的,这是向模块添加新控制器的正常过程。

在albumcontroller中,我已经有了用户名称空间Album\controller,所以我应该使用新名称空间??您需要将名称空间添加到新控制器文件“UserController.php”中,而不是添加到另一个控制器“albumcontroller.php”中-如果名称空间在“UserController.php”中设置为allready然后你可以保留它并跳过此步骤,但如果我删除名称空间Album\Controllert,则我的albumcontroller不起作用相册模块中所有控制器的名称空间ist
namespace Album\Controller
u不需要在现有控制器文件上编辑名称空间u需要将此名称空间添加到新的控制器PHP文件中,如果创建一个我尝试过的,但当我点击localhost/user时,我得到一个空白页面