Eae*_*Eae 1 controller zend-framework2
return array(
'router' => array(
'routes' => array(
'wall' => array(
'type' => 'Zend\Mvc\Router\Http\Segment',
'options' => array(
'route' => '/api/wall[/:id]',
'constraints' => array(
'id' => '\w+'
),
'defaults' => array(
'controller' => 'Wall\Controller\Index'
),
),
),
),
),
'controllers' => array(
'invokables' => array(
'Wall\Controller\Index' => 'Wall\Controller\IndexController',
),
),
);
Run Code Online (Sandbox Code Playgroud)
我正在查看模块Wall的配置,它是Zend Framework 2的JSON restfull API程序的一部分.在/ myprogram/Wall/src/Controller目录中有一个文件IndexController.php,其中名称空间被声明为'namespace长城\控制器".我的问题是关于'invokables'.'=>'的右侧对我有意义,如果我理解正确,它会引用控制器类名和命名空间.在'=>的左侧是什么'我仍在寻找'Wall\Controller\Index'的解释.
感谢您的发表...
invokables定义您可以调用的类.您通常会定义可以像这样调用的类:
'invokables' => array(
'Some\Namespace\Class',
'Some\Namespace\OtherClass',
),
Run Code Online (Sandbox Code Playgroud)
您也可以通过传递数组来定义别名,就像您给出的示例一样:
'invokables' => array(
'Wall\Controller\Index' => 'Wall\Controller\IndexController',
),
Run Code Online (Sandbox Code Playgroud)
它将Wall\Controller\Indexinvokable 定义为别名Wall\Controller\IndexController.