0
在Zendframework 2中,我根據此鏈接創建了新模塊MyModule:https://stackoverflow.com/a/17969889/2644574至動態設置DB適配器,它工作正常。動態數據庫適配器如何在ZF2中工作?
但我永遠不會調用此模塊MyModule的模塊或功能。
任何人都可以解釋我,如何和何時DB適配器動態設置而不調用模塊MyModule?
在Zendframework 2中,我根據此鏈接創建了新模塊MyModule:https://stackoverflow.com/a/17969889/2644574至動態設置DB適配器,它工作正常。動態數據庫適配器如何在ZF2中工作?
但我永遠不會調用此模塊MyModule的模塊或功能。
任何人都可以解釋我,如何和何時DB適配器動態設置而不調用模塊MyModule?
您在步驟1到步驟4中通過您提供的鏈接創建的代碼只是如何創建適配器的模板。在第5步中,他們解釋說您必須爲控制器添加一個功能。
public function getYourTable()
{
if (!$this->yourTable) {
$sm = $this->getServiceLocator();
$this->yourTable = $sm->get('YourModule\Model\YourTable');
}
return $this->yourTable;
}
當您調用該函數時,將調用服務管理器,如果該服務器尚不存在,則創建該適配器。在服務管理器的配置中定義瞭如何創建這些服務以及在哪裏找到它們。然後通過作曲家或ZF2模塊管理器的自動加載功能加載它們。
這是所有可能的,因爲你可以通過功能
getServiceConfig()
註冊與全球服務經理服務因此對於服務管理器是doen't無論從哪個模塊的代碼來自。