我实际上正在研究一个应该呈现两种视图的zend框架2应用程序:
我会将宁静的控制器包含在我的模块中,但我不了解它是否可行或推荐。
如果某人已经遇到过同一案件,他是否可以给我一些解释,因为我从2天开始没有找到答案。
在我的module.config.php中,我有:
return array(
'controllers' => array(
'invokables' => array(
'Role\Controller\Role' => 'Role\Controller\RoleController',
'Role\Controller\RoleRest' => 'Role\Controller\RoleRestController',
),
),
'router' => array(
'routes' => array(
'role' => array(
'type' => 'segment',
'options' => array(
'route' => '/role[/:action][/:id]',
'constraints' => array(
'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
'id' => '[a-zA-Z][a-zA-Z0-9_-]*',
),
'defaults' => array(
'controller' => 'Role\Controller\Role',
'action' => 'index',
),
),
),
'role-rest' => array(
'type' => 'segment',
'options' => array(
'route' => '/role-rest[/:id]',
'constraints' => array(
'id' => '[a-zA-Z][a-zA-Z0-9_-]*',
),
'defaults' => array(
'controller' => 'Role\Controller\RoleRest',
'action' => 'getList',
),
),
),
),
),
'view_manager' => array(
'strategies' => array(
'ViewJsonStrategy',
),
'template_path_stack' => array(
'role' => __DIR__ . '/../view',
),
),
);
当我尝试获取myApplication.localhost / role-rest时,页面显示以下消息:
"请求的控制器无法分派请求。
控制器:
角色\控制器\ RoleRest"
我通过简单更改id的正则表达式约束来解决问题:
'约束' =>阵列( ' ID' => ' [A-ZA-Z0-9 _-] *&#39 ;, ),