2017-12-09 1 views
1

그래서이 yaml 설정 파일이 있습니다. Silex에서 Yaml 변수를 덮어 쓰려면 어떻게해야합니까?

내가 $ 응용 프로그램 [ '설정']

에로드 할 때 변수를 덮어해야하지만 그냥 가능하지 않는 것 특정 지점에서

? Yaml 변수는 보호되어 있습니까?

$parser = new \Symfony\Component\Yaml\Parser(); 
$app['config'] = $parser->parse(\file_get_contents("config.yml"));  

$app['config']['sitedata']['sitename'] = "new sitename"; 
var_dump($app['config']['sitedata']['sitename']); 

Yamel sitedata.sitename 원본을 보여줍니다.

답변

0

다행히 다차원 배열의 항목을 변경할 수 없습니다. 왜 그렇게하지는 않지만 당신은 할 수 없습니다.

하지만! 당신은 $ 응용 프로그램 [ '설정']의 배열을 가져 그것을 다음과 같은 방법

을 변경하고 여러분의 필요에

$config = $app['config'] 

변경에게 VAR의 배열을 넣을 수

$config['sitedata']['sitename'] = "new sitename"; 

그리고 다시 설정에 넣으십시오.

$app['config'] = $config; 

작동!

관련 문제