Zend和Social Engine 4 - 获取zend数据库配置信息

时间:2015-03-28 15:16:46

标签: php zend-framework

事先 - 感谢您对此问题的任何帮助! 目前我们正在运行社交引擎4.8.7 我们目前正在尝试获取有关默认Zend数据库配置设置的信息,我们是Zend框架的新手。

互联网已经产生了许多答案,其中没有任何工作...... 在我们的控制器中,我们尝试过:

$this->getInvokeArg('bootstrap')->getOptions() 

- 致命错误:调用未定义的方法:: getInvokeArg()

new Zend_Config($this->getOptions());

- 致命错误:调用未定义的方法:: getOptions()

$this->application->getOptions() 

- 致命错误:调用未定义的方法:: getOptions()

Zend_Controller_Front::getInstance()->getParam('bootstrap')->getOptions();

- 返回一个空数组“array(0){}”

Zend_Registry::get('db')

- 给出NULL

Zend_Registry::getInstance()['DB']

- 给出NULL

我们已经尝试了许多其他建议,这些建议可以从controller.php中提供null或致命错误

目前,这是我们的临时解决方案,除了有效之外,它并不优雅:

$config = new Zend_Config(include 'application/settings/database.php');
$config->adapter

给了我们“mysqli”。以上内容也可用于检索大多数数据库配置信息,但会导致严重的安全问题。

是否有正确的方法从Zend获取相同的信息而无需直接访问该文件?

由于

1 个答案:

答案 0 :(得分:0)

<?php

/**
 * @var Zend_Db_Adapter_Abstract $adapter
 */

$adapter = Engine_Api::_()->getModuleBootstrap('core')->getContainer()->offsetGet('db');
$config = $adapter->getConfig();