在Zend框架2用戶的相冊示例性引導的模型被配置是這樣的:Zend Framework 2用戶指南中初始化的ServiceManager對象在哪裏?
<?php
namespace Album;
// Add these import statements:
use Album\Model\Album;
use Album\Model\AlbumTable;
use Zend\Db\ResultSet\ResultSet;
use Zend\Db\TableGateway\TableGateway;
class Module
{
// getAutoloaderConfig() and getConfig() methods here
// Add this method:
public function getServiceConfig()
{
return array(
'factories' => array(
'Album\Model\AlbumTable' => function($sm) {
$tableGateway = $sm->get('AlbumTableGateway');
$table = new AlbumTable($tableGateway);
return $table;
},
'AlbumTableGateway' => function ($sm) {
$dbAdapter = $sm->get('Zend\Db\Adapter\Adapter');
$resultSetPrototype = new ResultSet();
$resultSetPrototype->setArrayObjectPrototype(new Album());
return new TableGateway('album', $dbAdapter, null, $resultSetPrototype);
},
),
);
}
}
可變$sm
是Zend\ServiceManager\ServiceManager
對象。但是,如何/何時/何地創建/初始化?
編輯:
我想知道的是:如何/在哪裏呢$sm
得到它的值(和成爲的ServiceManager對象)。
我會等待來自ZF2,離散事件之一的答案,但我的假設是這條線:https://github.com/zendframework/zf2/blob/master/library/Zend/ServiceManager/ServiceManager。 PHP#L737 – Sam 2013-03-21 11:43:37
如果您正在使用的應用程序框架,它是由'應用程序初始化::實例化()'這裏 - > https://github.com/zendframework/zf2/blob/master/library/Zend/Mvc/Application .php#L236 – Crisp 2013-03-21 12:29:31
謝謝你的回覆!我還沒有得到,它如何工作。我只是試圖制定我的問題exacter,s。編輯。 – automatix 2013-03-21 12:56:04