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',
),
),
);
我正在查看模块Wall的配置,它是Zend Framework 2的JSON restfull API程序的一部分。在/ myprogram / Wall / src / Controller目录中有一个文件IndexController.php,其中的命名空间是声明'命名空间Wall \ Controller'。我的问题是关于' invokables'。 ' =>'的右侧对我来说,如果我理解正确,它会引用控制器类名和命名空间。 ' =>'左侧的内容是什么?我仍然在寻找有关什么是Wall \ Controller \ Index'。
的解释感谢您发帖...
答案 0 :(得分:5)
invokables
定义了您可以调用的类。您通常会定义可以像这样调用的类:
'invokables' => array(
'Some\Namespace\Class',
'Some\Namespace\OtherClass',
),
您还可以通过传递数组来定义别名,就像您给出的示例一样:
'invokables' => array(
'Wall\Controller\Index' => 'Wall\Controller\IndexController',
),
它将Wall\Controller\Index
invokable定义为Wall\Controller\IndexController
的别名。
答案 1 :(得分:4)
这真的只是一个key
。配置中的数组与模式key => value
一起存储。字符串Module\Controller\Foo
就是它的名字。您也可以编写module-controller-foo
,并在路由配置中使用它。