我对 DI 如何与 ZF2 一起工作有点困惑。在过去的几天里,我一直在努力解决它。虽然我已经取得了一些进展,但仍然让我感到困惑......
使用这个(http://akrabat.com/getting-started-with-zend-framework-2/)教程,我设法掌握了以下内容:
'di' => array('instance' => array(
'alias' => array(
'album' => 'Album\Controller\AlbumController',
),
'Album\Controller\AlbumController' => array(
'parameters' => array(
'albums' => 'Album\Model\Albums',
),
),
之所以有效,是因为在我们的专辑控制器类中,我们有一个 setAlbum 函数。因此,当 DI 类将调用该 setAlbums 函数并将其传递给 'Album\Model\Albums' 类时。
好吧,没问题。。
现在让我们看看这个(它来自 zend 站点的框架应用程序)
'Zend\View\HelperLoader' => array(
'parameters' => array(
'map' => array(
'url' => 'Application\View\Helper\Url',
),
),
),
现在我希望 Zend\View\HelperLoader (或继承的类)中包含一个 setMap() 函数,DI 类将传递一个数组。但情况似乎并非如此。因为我在任何地方都找不到 setMap 。
我的问题首先是我对 DI 与 ZF2 一起工作的方式有什么不了解的......但上面的代码(关于 zend\view\helper)实际上做了什么。我的意思是,将 'map' => array('url' => 'Application\View\Helper\Url') 注入 Zend\View\HelperLoader 实际上是做什么的?
感谢任何人都可以提供的任何帮助。我很欣赏这是一个测试版框架,我现在可能得到的答案在几个月内都不会适用。但这一切似乎都很基本,我就是不明白!