- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 ZF2 应用程序中,我有一些配置,即: 1. 需要根据环境而有所不同; 2. 特定于具体模块。我目前正在使用它,如 here描述:
global.php 和 local.php
return array(
...
'modules' => array(
'Cache' => array(
'ttl' => 1, // 1 second
)
)
...
);
模块类
Module {
...
public function getServiceConfig() {
try {
return array (
'factories' => array(
'Zend\Cache\Adapter\MemcachedOptions' => function ($serviceManager) {
return new MemcachedOptions(array(
'ttl' => $this->getConfig()['modules']['Cache']['ttl'],
...
));
},
...
)
);
}
...
}
...
}
它工作正常,但我相信,应该通过模块中的一个中心位置访问模块特定的设置 - Module
的 getConfig()
方法类(class)。像这样:
class Module {
public function getConfig() {
$moduleConfig = include __DIR__ . '/config/module.config.php';
$application = $this->getApplicationSomehow(); // <-- how?
$applicationModuleConfig = $application->getConfig()['modules'][__NAMESPACE__];
$config = array_merge($moduleConfig, $applicationModuleConfig);
return $config;
}
...
public function getServiceConfig() {
try {
return array (
'factories' => array(
'Zend\Cache\Adapter\MemcachedOptions' => function ($serviceManager) {
return new MemcachedOptions(array(
'ttl' => $serviceManager->get('Config')['modules']['Cache']['ttl'],
...
));
},
...
)
);
}
...
}
...
}
问题是,我不明白如何访问模块的 getConfig()
中的 global.php/local.php 配置。我该怎么做?
最佳答案
每个加载模块的每个配置都将合并为一个配置。也就是说,这将是:
$serviceManager->get('config');
(global|local).config.php
背后的原因仅仅是为了使用目的。应始终部署全局配置文件。然而,本地配置文件只能部署为可分发文件,别名 local.config.php.dist
。
发行版将不会被加载,无论它们位于何处。然而,ZF2 的常见概念是将可分发文件复制到 ZF2 应用程序的 /config/autoload
目录中,并将其重命名为 local.config.php
一个例子:
// YourModule/config/module.config.php
return array(
'key' => 1337
);
// YourModule/config/local.yourmodule.php.dist
return array(
'key' => 7331
);
现在,当您发布/部署应用程序时,将仅使用module.config.php
。如果有人想要更改您的模块的配置,他们绝不会触摸module.config.php
,因为当您的模块更新时,此文件会不断被覆盖。
但是人们可以做的就是复制:
YourModule/config/local.yourmodule.php.dist
to
/config/autoload/local.yourmodule.php
并更改此本地配置中的配置值。
理解:
希望这能更清楚一点
最终:
/config/autoload/mymodule.local.php
并使用其开发值覆盖您的 ttl
加载顺序:
最后一个有趣的部分,我已经完全忘记了,是配置文件的加载顺序。由于所有文件都已合并,因此请务必注意这一点!
/config/application.config.php
/modules/{module}/config/module.config.php
*/config/autoload/{filename}.php
asterix 它实际上不是 module.config.php
被调用,而是 Module
-类配置函数。主要有这些:
getConfig()
getServiceConfig()
getViewHelperConfig()
Zend\ModuleManager\Feature\{feature}ProviderInterface
下的所有内容如果我明白this part of the ConfigListener
正确的话,那么 getConfig()
将首先被调用,并且所有特殊的 {feature}ProviderInterfaces
将覆盖 getConfig()
的数据,但是不要认为这是理所当然的,它需要检查!
关于configuration - 如何在 Zend Framework 2 应用程序中的模块的 getConfig() 中使用 global.php/local.php 配置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15832546/
我正在尝试使“/setspawn”命令“/lv setspawn”。我将插件放在“plugins”文件夹中,插件生成配置,我将打开配置。此时一切都是正确的,因此当我尝试使用“/lv setspawn”
Bitmap bmp = BitmapFactory.decodeStream(inputStream, null, op); bmp.getConfig() = null; 为什么bmp.getC
这个问题已经有答案了: What is a NullPointerException, and how do I fix it? (12 个回答) 已关闭 5 年前。 我的 Spigot 插件上有一个
我尝试将 Lab 与 getConfig 一起使用,但总是收到错误。 在实验室中,我需要服务器,但在搜索配置文件时,它会查找node_modules/lab/bin/test_config.json,
本文整理了Java中com.esotericsoftware.yamlbeans.YamlReader.getConfig()方法的一些代码示例,展示了YamlReader.getConfig()的具
本文整理了Java中org.apache.zookeeper.ZooKeeper.getConfig()方法的一些代码示例,展示了ZooKeeper.getConfig()的具体用法。这些代码示例主要
我们有一个支持 netconf 的路由器,我可以使用 Mg-Soft 客户端浏览器执行获取/获取配置操作。这是 getConfig() 的输出 - 请求: 响应:
我有一些 XML 布局生成的 ImageView,我想复制我在下面的 LinearLayout 中单击的图像。 我已将跟随事件分配给所有 ImageView 的 onClick 事件: public
本文整理了Java中net.ymate.platform.core.YMP.getConfig()方法的一些代码示例,展示了YMP.getConfig()的具体用法。这些代码示例主要来源于Github
本文整理了Java中org.hippoecm.frontend.plugins.yui.YuiPluginHelper.getConfig()方法的一些代码示例,展示了YuiPluginHelper.
本文整理了Java中com.github.sakserv.minicluster.impl.YarnLocalCluster.getConfig()方法的一些代码示例,展示了YarnLocalClus
本文整理了Java中org.apache.hadoop.yarn.client.api.YarnClient.getConfig()方法的一些代码示例,展示了YarnClient.getConfig(
本文整理了Java中org.apache.hadoop.yarn.client.api.impl.YarnClientImpl.getConfig()方法的一些代码示例,展示了YarnClientIm
本文整理了Java中org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore.getConfig()方法的一些代码示例
在 ZF2 应用程序中,我有一些配置,即: 1. 需要根据环境而有所不同; 2. 特定于具体模块。我目前正在使用它,如 here描述: global.php 和 local.php return ar
我正在尝试通过添加以下依赖项在 session 的 spring boot 应用程序中使用 Redis: org.springframework.boot spring-boot-sta
我是一名优秀的程序员,十分优秀!