Symfony nhận tham số trong dịch vụ
Plugin Symfony cung cấp khả năng hoàn thiện và điều hướng mã cho các dịch vụ và tham số đã được đăng ký với bộ chứa dịch vụ Symfony và hỗ trợ bạn đăng ký những dịch vụ mới Show Tính năng hoàn thành và điều hướng cho các dịch vụ cũng có sẵn trong YAML và XML configuration files. Hoàn thành mã cho các dịch vụ SymfonyTrong trình chỉnh sửa, nhấn Ctrl+Space để gọi hoàn thành mã và thực hiện bất kỳ thao tác nào sau đây
Điều hướng mã cho các dịch vụĐể điều hướng đến phần khai báo của một dịch vụ, đặt dấu mũ ở vị trí sử dụng dịch vụ đó và nhấn Ctrl+B. Ngoài ra, Ctrl + Nhấp vào cách sử dụng Lệnh Điều hướng đến phần khai báo cũng sẽ cho phép bạn điều hướng giữa việc triển khai dịch vụ và tuyến đường đăng ký dịch vụ đó. Ví dụ: bạn có thể chuyển từ lớp Kiểm tra mã cho các dịch vụPlugin Symfony cung cấp một số kiểm tra để phát hiện lỗi trong
Đăng ký dịch vụCác dịch vụ thường được đăng ký với vùng chứa dịch vụ bằng cách thêm các bản ghi tương ứng vào YAML hoặc . Ví dụ: để đăng ký tiện ích mở rộng configuration file. For example, to register a Twig với bộ chứa dịch vụ, bạn có thể thêm bản ghi sau. dịch vụ. blogger_blog. cành cây. sự mở rộng. lớp. Các thẻ Blogger\BlogBundle\DependencyInjection\BloggerBlogExtension. - { Tên. cành cây. sự mở rộng } Một bản ghi đăng ký dịch vụ, ở mức tối thiểu, bao gồm tên của dịch vụ và lớp triển khai dịch vụ đó. Ngoài ra, nó thường chứa các lệnh cho các tham số sẽ được cung cấp bởi vùng chứa dịch vụ khi khởi tạo dịch vụ Trong các phiên bản cũ hơn của Symfony, chúng tôi thường xác định các tham số không thay đổi trên máy triển khai bên trong tệp
Tuy nhiên, trong Symfony 4, rất nhiều biến có thể được sử dụng ở đây đã chuyển sang tệp env hoặc những biến không thay đổi trên máy triển khai, bên trong tệp Trong bài viết ngắn này, chúng tôi sẽ giải thích cho bạn cách truy xuất dễ dàng các tham số đó từ bên trong bộ điều khiển và dịch vụ một cách dễ dàng 1. Đảm bảo autowire được bật và bạn có một số thông sốĐể sử dụng cách truy xuất tham số mặc định từ tệp
Biết rằng các thuộc tính này đã được bật và bạn có một số tham số X cần lấy từ dịch vụ hoặc bộ điều khiển, bạn đã sẵn sàng thực hiện bước tiếp theo 2. Lấy thông số trong Bộ điều khiểnTừ bên trong bộ điều khiển, bạn sẽ có thể lấy các tham số, tự động đưa vào ParameterBagInterface, một tiện ích được triển khai bởi các đối tượng quản lý các tham số vùng chứa dịch vụ. Bạn có thể chỉ cần bao gồm Tham sốBagInterface và bắt nó làm đối số trong phương thức của bộ điều khiển nơi bạn cần lấy một số tham số như được hiển thị trong ví dụ sau
3. Lấy tham số trong Dịch vụNếu thay vì bộ điều khiển, bạn cần lấy tham số từ bên trong dịch vụ của riêng mình, bạn cũng có thể tiếp tục với logic đã đề cập nhưng thay vì đưa Tham sốBagInterface vào mọi phương thức mà bạn cần, bạn cần lưu trữ nó vào một lớp |