Использование запросов на выборку в Zend Framework без предоставления информации базы данных - PullRequest
0 голосов
/ 21 декабря 2011

Я использую запросы на выборку, используя следующий код:

$params = array(
        'username' => 'root',
        'password' => '',
        'dbname' => 'mst2');
    $db = Zend_Db::factory('pdo_mysql', $params);

$select = $db->select()
            ->from(array('dc' => 'delivery_center'))
            ->join(array('r' => 'region'), 'dc.region_id = r.region_id');
    $stmt = $select->query();
    $result = $stmt->fetchAll();

Здесь $ db - учетные данные базы данных, которую я использую. Но я уже указал учетные данные в application.ini в следующих строках:

resources.db.params.host = localhost
resources.db.params.username = root
resources.db.params.password = ''
resources.db.params.dbname = mst2

Теперь, по логике вещей, я не должен предоставлять эти учетные данные снова. Но я должен использовать запросы на выборку. Так как $ db должен быть инициализирован без повторного подтверждения учетных данных базы данных? Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 21 декабря 2011

ДБ ресурс доступен по умолчанию и инициализируется автоматически во время начальной загрузки.

Если вы хотите получить адаптер базы данных в своем приложении, вы можете получить его как ресурс плагина из начальной загрузки:

$resource = $bootstrap->getPluginResource('db');
$db = $resource->getDbAdapter();

Если у вас нет ссылки на загрузчик, вы всегда можете получить его из FrontController:

$front = Zend_Controller_Front::getInstance(); 
$bootstrap = $front->getParam('bootstrap');
0 голосов
/ 21 декабря 2011

Вы можете использовать

Zend_Db :: завод ($ zend_config_object-> ресурсо-> дБ) но я думаю, что если вы указали это в application.ini, то Zend создаст для вас объект db автоматически, и вы сможете получить его через
Zend_Register и ключ "db".

...