So, the above error has suddenly started happening, after I've been using FOSUserBundle for several Symfony projects.
I've tried including the templating service (twice now) and it seems like it's installed fine. Here is my list of requires in my composer.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"
},
I've set up the config.yml, security.yml and the routing.yml files as per usual, and included the bundle in the AppKernel.php file. I've also created the User.php Entity but every time I try to clear the cache or update the database, I get this error.
The service "fos_user.mailer" has a dependency on a non-existent service "templating"
And after much searching I cannot see where to fix this problem. Any help with this is much appreciated as it's something that's never happened before, and I've always used FOSUserBundle for my security needs.
In Symfony 3.4 and FosUserBundle 2.0, add a service mailer into the fos_user
config:
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%
I just experienced the exact same problem. The funny thing is that I created a Symfony 3.3 project just before creating a Symfony 3.4 project and the Symfony 3.3 project didn't have this problem. So they must have removed the templating component for the 3.4 release.
To solve your problem, you will have to install the templating component using composer:
composer require symfony/templating
Then, add the following configuration under the framework
key in your config.yml:
templating:
engines: ['twig']
Update: I recently had to start a new Symfony 3.4 project with FOSUserBundle and discovered that I only had to add the above configuration to my config.yml file (as was mentioned in a comment below).
For my case, it's work after changing in the config.yml like below:
# 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: "[email protected]" # change this
sender_name: "Test App" # and this
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With