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


Zend and Social Engine 4 - getting zend database configuration information

动手之前-感谢您对此问题的帮助!目前我们正在运行社交引擎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();