Trong phần mở rộng bó Symfony2 my my services.yml
đang được nạpNhận môi trường Symfony2 trong gói mở rộng
$loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
$loader->load('services.yml');
Tuy nhiên tôi muốn tải các dịch vụ khác nhau cấu hình cho mỗi môi trường (ví dụ: một khác nhau cho các bài kiểm tra).
Hầu hết các ví dụ tôi đã tìm thấy để nhận môi trường hiện tại là để truy cập trong Bộ điều khiển (ví dụ: $this->get('kernel')->getEnvironment()
), tuy nhiên không thể truy cập dựa trên Bộ điều khiển trong Tiện ích mở rộng.
Theo Twig extension - symfony2 environment môi trường có thể được xây dựng tiêm tuy nhiên tôi không chắc chắn cách mở rộng bó của tôi được đăng ký/instantiated bởi Symfony vì vậy không chắc chắn làm thế nào để có môi trường tiêm (tài liệu tham khảo duy nhất tôi tìm thấy thông qua grep là trong bộ nhớ cache các tệp không hữu ích).
Làm cách nào để chỉ định một tệp dịch vụ YAML khác nhau được tải cho mỗi tệp env trong cấu hình, hoặc ít nhất là tìm ra môi trường để tôi có thể mã lớp Lớp mở rộng của mình để tải tệp chính xác?
Nếu bạn có điều khiển của bạn như một dịch vụ mà bạn có thể tiêm '' '% kernel.environment%' '' –
tiếp cận tốt hơn :) – Sharpy35