gpt4 book ai didi

zend-framework - 如何在 session 期间从 Zend application.ini 文件中检索参数?

转载 作者:行者123 更新时间:2023-12-04 02:48:34 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:




8年前关闭。




Possible Duplicate:
How could read application.ini on controller using zend framework


application.ini是 ZF 中的配置文件。除了 ZF 手册中提到的那些默认设置之外,我还有更多设置。但是,例如,我如何从我的 Action Controller 中检索这些参数?在 session 期间将这个配置存储在哪里更好?
Bootstrap_Abstract类(class)有 getOptions()方法返回一个简单的 php 读取数组 application.ini文件:
$app = new Zend_Application(APPLICATION_ENV, '/application.ini');
$config = $app->bootstrap()->getOptions(); // $config is a php array of application.ini

我想从它的 oop 样式中获取元素:
$param = $config[one][two];  // vs.
$param = $config->one->two; // like this

采埃孚有 Zend_Config_Ini读取 .ini 的类's 并准确返回 ArrayObject。但我想避免阅读 application.iniZend_Config_Ini再来一次 Zend_Application反正已经读过了。但是 BootstrapZend_Application类不提供来自 application.ini 的 ArrayObject 的一些自动创建.

第二,我可以在哪里存储这个 $config 呢?在 Zend_Registry ?
Zend_Registry::set('config', $config);

然后在我的一些 Action Controller 中我检索它:
$config = Zend_Registry::get('config');  // I retrieve config
$param = $config->one->two; // I retrieve parameter from it and use it

但似乎有点低效:我有一份 application.iniBootstrap以通常的 php 数组和相同副本的形式 application.ini但在 Zend_Registry 中以 ArrayObject 的形式也。并且必须执行两个步骤才能从我的配置中获取参数。我怎样才能更有效地解决这个问题?

最佳答案

使用 Zend_Controller_Front ,您可以使用以下代码从应用程序中的任何位置( Controller 、插件、模型等)从 application.ini 检索信息:

$config = Zend_Controller_Front::getInstance()->getParam('bootstrap');

application.ini 中说你有一些这样的选项:
apikeys.google.maps.id  = "abc"
apikeys.google.maps.key = "123456789"
apikeys.twitter.oauth = "20jg9032jg9320gj30"

然后,您可以使用上述 $config 变量访问这些值:
$apikeys = $config->getOption('apikeys');
$mapsId = $apikeys['google']['maps']['id']; // abc
$maksKey = $apikeys['google']['maps']['key']; // 123456789
$twitKey = $apikeys['twitter']['oauth']; // 20jg9032jg9320gj30

希望有帮助。

关于zend-framework - 如何在 session 期间从 Zend application.ini 文件中检索参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12887873/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com