2016-04-01 7 views
2

コントローラからparameters.yamlに整数値を書きたいと思っています。それも可能ですか?symfonyがコントローラから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 !?? 
    } 
} 

答えて

2

パラメータは一般に固定値です。 だから、より良いアプローチは、おそらく、個々の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')); 
1

Parameters.ymlのみ固定設定値が含まれている必要があります!カウンターをデータベースに保存するか、txtファイルに(私はこれが好きではない)保存する必要があります。

本当に編集したい場合は、あなたはファイルを解析し、行を検索/置換する必要があります...それは本当に悪い習慣です!

+0

ただし、単なる値ですか?そのためにデータベーステーブルを作成するのは私にはあまり意味がありません。私はそれをtxtファイルに入れると思います。 – nipec

関連する問題