嗨,我是zend framework2.2.0的新手。我想用多个控制器创建一个模块我从github下载“相册”模块,它的工作正常 现在我想添加更多的控制器 下面我已经在模块
中显示了我的文件夹结构module/
Album/
config/
module.config.php
src/
Album/
Controller/
AlbumController.php
UserController.php
Form/
AlbumForm.php
UserForm.php
Model/
AlbumTable.php
Album.php
UserTable.php
User.php
view/
album/
album/
index.phtml
user/
index.phtml
我还更改了文件中的所有名称空间
namespace Album \ Controller;
类UserController扩展\ Zend \ Mvc \ Controller \ AbstractActionController
和一些indexAction方法返回一个新的\ Zend \ View \ Model \ ViewModel();
然后您可以在
中创建视图文件专辑/视图/专辑/用户/ index.phtml 我做了以上的改变。 “Album / Module.php”文件中是否需要任何chage? 你能告诉我通过哪个链接可以看到用户列表?
我厌倦了这个错误,帮助我摆脱它
答案 0 :(得分:8)
您可能需要在Album / config文件夹的module.config.php中为用户添加网址规则。然后你可以访问像
这样的网址// The following section is new and should be added to your file
'router' => array(
'routes' => array(
'album' => array(
'type' => 'segment',
'options' => array(
'route' => '/album[/:action][/:id]',
'constraints' => array(
'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
'id' => '[0-9]+',
),
'defaults' => array(
'controller' => 'Album\Controller\Album',
'action' => 'index',
),
),
),
'user' => array(
'type' => 'segment',
'options' => array(
'route' => '/user[/:action][/:id]',
'constraints' => array(
'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
'id' => '[0-9]+',
),
'defaults' => array(
'controller' => 'Album\Controller\User',
'action' => 'index',
),
),
),
),
),
另外
'controllers' => array(
'invokables' => array(
'Album\Controller\Album' => 'Album\Controller\AlbumController',
'Album\Controller\User' => 'Album\Controller\UserController',
),
),