2015-05-29 8 views
0

Cenario
Мое приложение разделено на множество агентств, каждый из которых имеет собственную базу данных и файл конфигурации базы данных.ZF2 Как получить выгруженный конфигурационный файл в контроллере?

Перед тем как войти в систему, пользователю необходимо отправить мне agency-id. В этом запросе ZF2 загружает неагентский файл конфигурации db (с информацией базы данных SQLite), чтобы проверить, действительно ли существует agency-id.

Следующие запросы сделаны в agency-specific-url, поэтому ZF2 загружает конкретный файл конфигурации db данного агентства.

Проблема
В первом запросе (для проверки agency-id) после того, как я проверить его, мне нужно загрузить определенную базу данных агентства, чтобы принести некоторую информацию и вернуть его.

Я думал о загрузке, что «выгружены базы данные конфиг агентство» в моем controller, чтобы создать экземпляр model с DbAdapter содержащего агентство информации базы данных для этого, но я не могу найти способ сделать это.

Как я могу это сделать или есть другой способ? Возможно, я должен загрузить каждый конфигурационный файл агентства до запуска ZF2, но я не знаю, является ли это лучшим решением.

ответ

0

Чтобы решить эту проблему, я создал действие, которое вернет информацию агентства. Внутри агентства-идентификатора проверьте действие, создайте запрос на вышеуказанное действие и получите его ответ:

// Create request to get agency's info 
$client = new Client(); 
$request = new Request(); 
$request->setMethod(Request::METHOD_GET); 
$explicitUrl = 'http://example.com/any/action'; 
$request->setUri($explicitUrl); 
$response = $client->send($request); 

// The any/action route points to an action that return JSON data 
$json  = JsonDecoder::decode($response->getBody()); 

// Now I can do whatenever I want 
$json->variable1... 
$json->variable2... 
$json->variable3... 

 Смежные вопросы

  • Нет связанных вопросов^_^