programing

Symfony2 기본 컨테이너 서비스 목록이 있습니까?

luckcodes 2021. 1. 17. 11:29

Symfony2 기본 컨테이너 서비스 목록이 있습니까?


다음은 사용자 지정 서비스 (YAML 표기법) 정의에 대한 Symfony2 웹 사이트에서 가져온 예입니다 .

services:
    newsletter_manager:
        class:     %newsletter_manager.class%
        arguments: [@mailer, @templating]

거기에 기본 Symfony2 서비스 개체의 목록을 매개 변수로 사용자 정의 서비스에 주입 될 수있다 (같은 @mailer, @templating, @doctrine)?

나는 그들이 Container(예를 들어, 각 Controller클래스 에서 사용 가능한) 에서 온다는 것을 알고 있습니다 . 모든 서비스를 덤프하려고했지만 더 자세한 목록을 찾고 있습니다.

php app/console container:debug

logger container Symfony\Bridge\Monolog\Logger
mailer container Swift_Mailer
translator n/a alias for translator.default
...

명령 줄 php app/console container:debug은 다른 서비스에 삽입하거나 Controller with Controller::get($serviceName).

이 목록은 공공 서비스 만 표시 합니다. --show-private디스플레이 개인 서비스에 옵션 추가하십시오 . 비공개 서비스는 다른 서비스에만 삽입 할 수 있으며 Controller 또는 ContainerAware에서 액세스 할 수 없습니다.

편집 : Symfony 2.7에서 debug:container대신 사용container:debug


WebProfilerExtraBundle는 이 매우 유용합니다.

또한 매우 유용한 라우팅, 자산 및 나뭇 가지에 대한 세부 정보를 추가합니다. Symfony에서 생각하는 법을 배우는 사람으로서 저는이 번들을 정말 좋아합니다.


단일 서비스에 대한 세부 정보를 얻으려면 다음을 수행 할 수도 있습니다.

    php app/console container:debug service_id

그러면 해당 서비스에 대한 정보를 얻을 수 있습니다.


당신이 사용할 수있는

    php app/console container:debug

사용 가능한 모든 공공 서비스 ID 목록을 가져 오거나

    php app/console container:debug --show-private

공개 및 비공개 서비스 ID를 모두 표시


다음 명령을 사용하여 원하는 서비스 세부 정보를 얻을 수 있습니다.

php app/console container:debug | grep service_name

서비스를 나열 할 수 있습니다.

php app/console debug:container log 

일부 서비스에 대한 추가 정보가 필요한 경우 도움말을 사용할 수 있습니다.

php app/console debug:container log  --help

참조 URL : https://stackoverflow.com/questions/9473846/is-there-a-list-of-symfony2-default-container-services