【发布时间】:2016-05-18 01:01:03
【问题描述】:
我相信我的配置是正确的,但我想要我的 redis 端口和方案配置选项的默认值,但它们显示为空值?
谁能看出问题出在哪里?
这是我的配置。
/**
* {@inheritdoc}
*/
public function getConfigTreeBuilder()
{
$treeBuilder = new TreeBuilder();
$rootNode = $treeBuilder->root('company_name');
$rootNode
->children()
->arrayNode('cache')
->children()
->arrayNode('redis')
->addDefaultsIfNotSet()
->treatNullLike([
'scheme' => 'tcp',
'port' => 6379,
])
->children()
->scalarNode('scheme')
->defaultValue('tcp')
->end()
->scalarNode('host')
->isRequired()
->cannotBeEmpty()
->end()
->integerNode('port')
->defaultValue(6379)
->end()
->end()
->end()
->end()
->end()
->end();
return $treeBuilder;
}
这是我的 parameters.yml 文件
parameters:
company_name:
cache:
redis:
host: dev-sessionstore.companyname.com
schema: ~
port: ~
控制台输出:
$ php bin/console config:dump-reference CompanyNameCacheBundle
# Default configuration for "CompanyNameCacheBundle"
company_name:
cache:
redis:
namespace: apps
scheme: tcp
host: ~ # Required
port: 6379
apcu:
namespace: phpcache
我希望方案和端口使用默认值,但是是什么导致它们为空?
【问题讨论】:
标签: php configuration symfony