我正在学习ZF2。
是否可以像 Zf1 那样在没有路由器的情况下运行应用程序?我们需要为每个控制器定义路由器吗?
例子:
在 ZF1 中:"admin/index/index"
显示为"module/controller/action"
IN ZF2:"admin/index/index"
显示为"router[/:controller][/:action]"
请帮助我消除我的疑虑。
我正在学习ZF2。
是否可以像 Zf1 那样在没有路由器的情况下运行应用程序?我们需要为每个控制器定义路由器吗?
例子:
在 ZF1 中:"admin/index/index"
显示为"module/controller/action"
IN ZF2:"admin/index/index"
显示为"router[/:controller][/:action]"
请帮助我消除我的疑虑。
请把这个
return array(
// routes
'router' => array(
'routes' => array(
'album' => array(
'type' => 'Literal',
'options' => array(
'route' => '/album',
'defaults' => array(
'controller' => 'album\Controller\Index',
'action' => 'index',
),
),
'may_terminate' => true,
'child_routes' => array(
'default' => array(
'type' => 'Segment',
'options' => array(
'route' => '/[:controller[/:action]]',
'constraints' => array(
'controller' => '[a-zA-Z][a-zA-Z0-9_-]*',
'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
),
'defaults' => array(
// add the default namespace for :controllers in this route
'__NAMESPACE__' => 'album\Controller',
),
),
),
),
),
),
),
'controllers' => array(
'invokables' => array(
'album\Controller\Test' => 'Album\Controller\TestController',
),
),
'view_manager' => array(
'template_path_stack' => array(
'album' => __DIR__ . '/../view',
),
),
);
您需要在可调用对象中手动添加控制器名称或通过抽象工厂调用
'controllers' => array(
'invokables' => array(
'album\Controller\Test' => 'Album\Controller\TestController',
),
),