Zend framework2 Zendframework2中单个模块下的多个控制器
我通过ZF教程创建相册。 结构如下:Zend framework2 Zendframework2中单个模块下的多个控制器,zend-framework2,Zend Framework2,我通过ZF教程创建相册。 结构如下: module/ Album/ config/ module.config.php src/ Album/ Controller/ AlbumController.php view/ album/ ....
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不起作用相册模块中所有控制器的名称空间istnamespace Album\Controller
u不需要在现有控制器文件上编辑名称空间u需要将此名称空间添加到新的控制器PHP文件中,如果创建一个我尝试过的,但当我点击localhost/user时,我得到一个空白页面