53 votes

S'il existe une liste de Symfony2 conteneur par défaut services?

Voici un exemple, pris dans Symfony2 site web, au sujet de la définition d'un service personnalisé (YAML notation):

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

Est-il une liste de défaut de service Symfony2 objets qui peuvent être injectés dans un service personnalisé en tant que paramètres (comme @mailer, @templating, @doctrine)?

Je sais qu'ils viennent de l' Container (ce qui est disponible, par exemple, dans chaque Controller de la classe). J'ai essayé de vider tous les services, mais je suis à la recherche pour une liste plus détaillée:

php app/console container:debug

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

121voto

AlterPHP Points 6053

La ligne de commande php app/console container:debug affiche la liste des services que vous pouvez injecter dans un autre service ou d'obtenir à partir d'une Controller with Controller::get($serviceName).

Cette liste affiche uniquement les publics de services. Ajout de l'option --show-private dans l'affichage privé des services. Les services privés ne peut être injecté dans un autre service, pas accessible à partir d'un Contrôleur ou toute ContainerAware...

5voto

Icode4food Points 3318

Le WebProfilerExtraBundle est très utile pour cela.

Il ajoute également quelques détails sur le routage, assetic et twig qui sont très utiles. Comme quelqu'un d'apprendre à penser dans Symfony, j'aime VRAIMENT cette série.

5voto

Victor Odiah Points 177

vous pouvez également le faire si vous voulez obtenir les détails d'un service unique:

    php app/console container:debug service_id

cela vous donnera des infos sur ce service

3voto

Victor Odiah Points 177

vous pouvez utiliser

    php app/console container:debug

pour obtenir une liste de tous les IDs de service public ou

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

pour afficher à la fois publics et privés au service de l'IDs

3voto

Ashish Awasthi Points 58

vous pouvez utiliser afin de vous obtenir le service souhaité détails:

php app/console container:debug | grep service_name

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X