번들에 대한 구성이 필요합니다. Symfony2 어디를 넣을 수 있습니까?
여기에서 어떻게 가져올 수 있습니까?Symfony2 커스텀 파라미터를 어디에 넣어야합니까?
PARAMETERS.INI
에 내 기본 DB 매개 변수를 사용했지만 개인적으로 코드에서 검색 할 수있는 추가 매개 변수가 필요합니다.
번들에 대한 구성이 필요합니다. Symfony2 어디를 넣을 수 있습니까?
여기에서 어떻게 가져올 수 있습니까?Symfony2 커스텀 파라미터를 어디에 넣어야합니까?
PARAMETERS.INI
에 내 기본 DB 매개 변수를 사용했지만 개인적으로 코드에서 검색 할 수있는 추가 매개 변수가 필요합니다.
하나 내가 컨트롤러에 액세스 할 수있는 방법 src/Company/SomeBundle/Resources/config/parameters.yml
은 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
는 당신이 필요로하는 여분의 매개 변수를 정의하여 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에서 이러한 매개 변수를 정의 할 수 있습니다, 당신은 동일한 결과를 얻을 수 있습니다.
$ this-> get ('my_mailer.transport') 대신 $ this-> getParameter ('my_mailer.transport')를 사용하여 매개 변수에 액세스해야합니다 – Davincho
How to expose a Semantic Configuration for a Bundle 요리 책 항목을 참조하십시오. 이 방법의 장점 중 하나는 구성의 유효성을 검사 할 수 있다는 것입니다.
예를 를 들어, 번들 내부에 자신의 매개 변수를 유지해야합니까? –