事先 - 感谢您对此问题的任何帮助! 目前我们正在运行社交引擎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获取相同的信息而无需直接访问该文件?
由于
答案 0 :(得分:0)
<?php
/**
* @var Zend_Db_Adapter_Abstract $adapter
*/
$adapter = Engine_Api::_()->getModuleBootstrap('core')->getContainer()->offsetGet('db');
$config = $adapter->getConfig();