40 votes

Le service "fos_user.mailer" a une dépendance sur un service non existant "templating"

Donc, l'erreur ci-dessus a soudainement commencé de passe, après j'ai été en utilisant FOSUserBundle pour plusieurs projets Symfony.

J'ai essayé, y compris la création de modèles de service (par deux fois) et il semble que c'est installé amende. Voici ma liste, il faut dans mon compositeur.json:

"require": {
    "php": ">=5.5.9",
    "doctrine/doctrine-bundle": "^1.6",
    "doctrine/orm": "^2.5",
    "friendsofsymfony/user-bundle": "^2.0",
    "incenteev/composer-parameter-handler": "^2.0",
    "sensio/distribution-bundle": "^5.0.19",
    "sensio/framework-extra-bundle": "^5.0.0",
    "symfony/monolog-bundle": "^3.1.0",
    "symfony/polyfill-apcu": "^1.0",
    "symfony/swiftmailer-bundle": "^2.6.4",
    "symfony/symfony": "3.4.*",
    "symfony/templating": "^3.4",
    "twig/twig": "^1.0||^2.0"
},

J'ai mis en place la configuration.yml, de la sécurité.yml et le routage.yml fichiers comme par habitude, et inclus le paquet dans la AppKernel.php fichier. J'ai également créé le User.php Entité mais à chaque fois que j'essaie de vider le cache ou de mise à jour de la base de données, j'obtiens cette erreur.

Le service "fos_user.mailer" a une dépendance sur un inexistante service "templating"

Et après beaucoup de recherches je ne vois pas où pour résoudre ce problème. Tout, est très appréciée comme c'est quelque chose qui ne m'était jamais arrivé avant, et j'ai toujours utilisé des FOSUserBundle pour mes besoins en matière de sécurité.

90voto

Moccine Points 982

Dans Symfony 3.4 et FosUserBundle 2.0, ajoutez un service de messagerie dans la configuration fos_user :

 fos_user:
    db_driver: orm # other valid values are 'mongodb' and 'couchdb'
    firewall_name: main
    user_class: AppBundle\Entity\User
    service:                               # this lines
        mailer: fos_user.mailer.twig_swift # this lines
    from_email:
        address: "%mailer_user%"
        sender_name: "%mailer_user%
 

75voto

Andrew Points 1058

J'ai vécu exactement le même problème. Le plus drôle, c'est que j'ai créé un Symfony 3.3 projet juste avant la création d'une Symfony 3.4 projet et Symfony 3.3 projet n'ont pas ce problème. Donc ils doivent être retirés de la création de modèles de composants pour la version 3.4.

Pour résoudre votre problème, vous devez installer le composant de templating à l'aide du compositeur:

composer require symfony/templating

Ensuite, ajoutez la configuration suivante en vertu de l' framework - clés dans votre config.yml:

templating:
    engines: ['twig']

Mise à jour: j'ai récemment eu à démarrer une nouvelle Symfony 3.4 projet avec FOSUserBundle et découvert que je n'avais qu'à ajouter la configuration ci-dessus à ma config.fichier yml (comme cela a été mentionné dans un commentaire ci-dessous).

2voto

D.Lm Points 1

Pour mon cas, c’est un travail après avoir changé dans le fichier config.yml comme ci-dessous:

 # FOSUser Configuration
fos_user:
    db_driver: orm # other valid values are 'mongodb' and 'couchdb'
    firewall_name: main
    user_class: AppBundle\Entity\User
    service:                               # this line
        mailer: fos_user.mailer.twig_swift # this line (from the comment above)
    from_email:
        address: "test@test.com" # change this 
        sender_name: "Test App"  # and this
 

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