Je veux définir un alias pour un service afin de pouvoir utiliser différents services dans différents environnements. Donc, voici le services.yaml
Symfony - Comment définir un alias pour un service en utilisant la valeur d'un paramètre
.
.
.
register_request:
alias: %register_request_service%
main_register_request:
class: AppBundle\Services\Requests\RegisterRequest
null_register_request:
class: AppBundle\Services\Requests\NullRegisterRequest
.
.
.
et dans mon environnement de développement du parameters.yml
ressemble:
.
.
.
register_request_service: null_register_request
.
.
.
Mais ça ne marche pas! quand je l'utilise clear:cache
il dit:
[Symfony\Component\DependencyInjection\Exception\InvalidArgumentException]
Unable to replace alias "%register_request_service%" with "register_request".
[Symfony\Component\DependencyInjection\Exception\InvalidArgumentException]
The service definition "%register_request_service%" does not exist.
Toute idée sur ce que je suis absent?
Je suis d'accord avec la réponse d'Alireza. Dans le document sur les meilleures pratiques, il est indiqué que «Ne définissez pas de paramètres pour les classes de vos services». Même si je suis d'accord que vous ne devez suivre aucun document aveuglément au départ, avoir des services basés sur l'environnement signifie que quelqu'un installant votre application web n'a pas constamment besoin de définir une valeur dans 'parameters.yml'. –
Ai-je dit quelque chose à propos de 'parameters.yml'? –
Non. Vous n'avez rien dit à propos de l'endroit où définir les paramètres, et l'endroit habituel pour définir les paramètres est dans le fichier qui porte leur nom. Votre réponse est seulement un paragraphe, donc je dois deviner la plupart de ce que vous voulez dire; désolé si mes suppositions échouent. –