如何在Symfony2中引用配置值

时间:2013-09-05 14:27:23

标签: symfony

给定Symfony2配置:

$treeBuilder = new TreeBuilder();
$rootNode = $treeBuilder->root('acme');        

$rootNode
    ->children()
        ->scalarNode('tempFolder')
            ->isRequired()
            ->cannotBeEmpty()
        ->end()
        ->scalarNode('logFile')
        ->end()
    ->end()
;

如何让logFile依赖于tempFolder,以便它就像

tempFolder + '/' + logFile

1 个答案:

答案 0 :(得分:0)

恕我直言,它没有任何处理配置。 symfony中的配置几乎只是验证。您需要验证

这看起来像是您的扩展程序的作业。

public function load(array $configs, ContainerBuilder $container)
{
    $configuration = new Configuration();
    $config = $this->processConfiguration($configuration, $configs);

    $logRealpath = sprintf("%s/%s",
        rtrim($config['tempFolder'], '/'), 
        ltrim($config['logFile'], '/')
    );
    $container->setParameter('acme.log_realpath', $logRealpath);
}

然后您可以使用

访问它
%acme.log_realpath%