动手之前-感谢您对此问题的帮助!目前我们正在运行社交引擎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')
-给出空
Zend_Registry::getInstance()['DB']
-给出空
我们已经尝试了许多其他建议,这些建议要么给出null,要么是来自我们的controller.php 的致命错误
目前,这是我们的临时解决方案,一点也不优雅,但有效:
$config = new Zend_Config(include 'application/settings/database.php');
$config->adapter
这给了我们"mysqli"。以上内容也可用于检索大多数数据库配置信息,但会引起严重的安全问题。
有没有一种正确的方法可以在不直接访问文件的情况下从Zend获得相同的信息?
感谢
<?php
/**
* @var Zend_Db_Adapter_Abstract $adapter
*/
$adapter = Engine_Api::_()->getModuleBootstrap('core')->getContainer()->offsetGet('db');
$config = $adapter->getConfig();