【问题标题】:Zend and Social Engine 4 - getting zend database configuration informationZend and Social Engine 4 - 获取 zend 数据库配置信息
【发布时间】:2015-03-28 15:16:45
【问题描述】:

事先 - 感谢您提供有关此问题的任何帮助! 目前我们正在运行社交引擎 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 获取相同的信息而无需直接访问文件?

谢谢

【问题讨论】:

  • 你用 Zend_Controller_Action 扩展你的控制器了吗??
  • 我们的控制器默认已经扩展了 Engine_Content_Widget_Abstract 并且不支持多继承。我想我们可以只创建一个扩展 Zend_Controller_Action 的单独类,然后在我们当前的控制器中实例化它,但是内存中是否已经有一个对象可以从中提取此信息?
  • 很抱歉,我对社交引擎了解不多。这可能会对你有所帮助.. faysalahmed.wordpress.com/2012/02/14/…

标签: php zend-framework


【解决方案1】:
<?php

/**
 * @var Zend_Db_Adapter_Abstract $adapter
 */

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

【讨论】:

  • 你能补充一些解释吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-06
  • 1970-01-01
相关资源
最近更新 更多