繁体   English   中英

Symfony从控制器写入parameters.yaml

[英]Symfony write to parameters.yaml from controller

我想将控制器的整数值写入parameters.yaml。 那有可能吗?

例:

parameters.yaml

parameters:
    # ...
    counter: 13

SomeController.php

class SomeController
{
    public function indexAction()
    {
        $counter = $this->getParameter('counter');
        $counter++;
        // now save new counter value to parameters.yaml !??
    }
}

参数通常是固定值。 因此,更好的方法可能是写入单个yaml文件:

http://symfony.com/doc/current/components/yaml/introduction.html

use Symfony\Component\Yaml\Dumper;


const MY_PARAM=13;

//manipulate and do your thing....
$array=['my_param'=>self::MY_PARAM++];



$dumper = new Dumper();

$yaml = $dumper->dump($array);

file_put_contents('/path/to/file.yml', $yaml);

然后,您可以在应用程序中的任何位置读取文件。

use Symfony\Component\Yaml\Parser;

$yaml = new Parser();

$value = $yaml->parse(file_get_contents('/path/to/file.yml'));

Parameters.yml必须仅包含固定的配置值! 您应该将计数器存储在数据库中,或者(我不喜欢)存储在txt文件中。

但是,如果您真的要编辑它。 您必须解析文件并搜索/替换该行……这确实是一个坏习惯!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM