2012-08-25 4 views

답변

4

하나 내가 컨트롤러에 액세스 할 수있는 방법 src/Company/SomeBundle/Resources/config/parameters.yml

0

은 parameters.ini 파일에서 다른 부분을 사용합니다.

가 parameters.ini : 당신은 같은과 prod1로 시작 매개 변수를 사용하여 prod1 환경과 prod2 할 수

[parameters] 
prod1_database_driver = pdo_mysql 
prod1_database_host = 127.0.0.1 

# ... 

prod2_database_driver = pdo_mysql 
prod2_database_host = localhost 

그들은 모두 prod.yml 구성을 사용을하지만 당신은에서 읽고 싶은 물건을 덮어 parameters.ini :

config_prod1.yml는 :

imports: 
- { resource: config_prod.yml } 

// .. overwrite stuff here 
+0

예를 를 들어, 번들 내부에 자신의 매개 변수를 유지해야합니까? –

3

는 당신이 필요로하는 여분의 매개 변수를 정의하여 config.yml 파일을 정의합니다. 같은 뭔가 :

# app/config/config.yml 
parameters: 
    my_mailer.class:  Acme\HelloBundle\Mailer 
    my_mailer.transport: sendmail 

그런 다음 당신은 당신이 교리 나 swiftmailer 같은 다른 서비스를 검색처럼 서비스 컨테이너가 컨트롤러 내에서, 예를 들어, 사용할 수 있음을 어디서나 검색 할 수 있습니다. 당신이 원하는 경우 예를 들어, 컨트롤러,

$transport = $this->get('my_mailer.transport'); 

을, 당신은 paramters.ini에서 이러한 매개 변수를 정의 할 수 있습니다, 당신은 동일한 결과를 얻을 수 있습니다.

+0

$ this-> get ('my_mailer.transport') 대신 $ this-> getParameter ('my_mailer.transport')를 사용하여 매개 변수에 액세스해야합니다 – Davincho

관련 문제