2011-12-17 25 views
7

Giả sử tôi có biểu mẫu liên hệ truyền thống đơn giản trên trang web của mình và tôi muốn sử dụng chủ đề "Test: (subject_field value)" trong môi trường dev "(subject_field_value)" trong môi trường sản xuất khi gửi e-mail. Có cách nào để xác định một biến được gọi là "subject_prefix" trong config_dev.yml và config_prod.yml và sau đó chỉ cần sử dụng một cái gì đó như $this->get('config')->get('subject_prefix')? Tôi hy vọng rằng cuộc gọi đó sẽ trả về "Test: (giá trị subject_field)" trong môi trường dev và "(subject_field_value)" trong môi trường prod.Symfony2: truy cập các biến được định nghĩa trong config.yml và config _ *. Yml

Trả lời

7

Các tốt nhất để làm là:

Trong config.yml

parameters: 
    url: domain.com 

Trong khiển:

$value = $this->container->getParameter('url'); 

Hy vọng nó giúp.

Trong Symfony 2.7+:

$value = $this->getParameter('url'); 
+0

ngắn và giúp, cảm ơn! –

+0

Điều này đã giúp tôi, cảm ơn –

0

Nếu bạn không muốn lộn xộn "parameters.yml" của bạn và đừng muốn lưu trữ nó trong config.yml và config_dev.yml nhìn vào câu trả lời của tôi ở đây:

How do I read configuration settings from Symfony2 config.yml?

một trong đó chứa hai phương pháp:

  • FIRST TIẾP CẬN: Ly khối cấu hình, nhận nó như một tham số
  • tiếp cận thứ hai: block Ly thân config, tiêm config vào một dịch vụ

Hope this helps!

Các vấn đề liên quan