Я пытаюсь настроить сервисный локатор во время начальной загрузки
Все эти сервисы основаны на базе данных Zend_Db, и в каждом сервисе есть необходимые средства отображения данных, введенные при создании.
выглядит примерно так:
$alertService = new WORK_Alert_Service_Service(array("AlertMapper" => new Model_Alert_Mapper(),
"AlertUserSubscriptionMapper" => new Model_Alert_User_Subscription_Mapper()));
$emailerService = new WORK_Emailer_Service_Service(
array("AccountMapper" => new Model_Emailer_Email_Account_Mapper()));
$encryptionService = new WORK_Encryption_Service_Service();
$services = array(
$alertService,
$emailerService,
$encryptionService
);
WORK_ServiceLocator::regiserServices($services);
Итак, я обнаружил, что я получаю следующую ошибку
проблемаНе найден адаптер для Model_Emailer_DbTable_EmailAccounts
причина, по которой это происходит для службы электронной почты, но не для службы оповещения, заключается в том, что
служба электронной почты соединяется с БД и получает все доступные учетные записи электронной почты и сохраняет их в объекте для последующего использования при создании (поддерживает объект mapper, чтобы можно было управлять / очищать список учетных записей и сбрасывать их при необходимости).
Создается ли адаптер Zend_Db после процесса начальной загрузки?
если так, то возможно ли продвинуть это вперед?
Могу ли я обойти это, переместив их в файлы начальной загрузки для отдельных модулей?