Reputation: 113
I work on mac now.
At office, I get a Windows and I tried to clone my project and did some troubleshooting (error of php version like downgrading).
Now, I can access some pages I created (basically json files as Angular would display them.
It seems weird but on Windows work well. But on Mac, it doesn't work (same files, same project,...).
But, one renders me this error message:
Could not resolve argument $roomRepository of "App\Controller\ApiRoomController::index()", maybe you forgot to register the controller as a service or missed tagging it with the "controller.service_arguments"
As someone asked on Could not resolve argument $encoder of "xx", UserPasswordEncoderInterface, Symfony 4.*, I checked my services.yaml and its seems ok:
# This file is the entry point to configure your own services.
# Files in the packages/ subdirectory configure your dependencies.
# Put parameters here that don't need to change on each machine where the app is deployed
# https://symfony.com/doc/current/best_practices/configuration.html#application-related-configuration
parameters:
services:
# default configuration for services in *this* file
_defaults:
autowire: true # Automatically injects dependencies in your services.
autoconfigure: true # Automatically registers your services as commands, event subscribers, etc.
# makes classes in src/ available to be used as services
# this creates a service per class whose id is the fully-qualified class name
App\:
resource: '../src/'
exclude:
- '../src/DependencyInjection/'
- '../src/Entity/'
- '../src/Kernel.php'
- '../src/Tests/'
# controllers are imported separately to make sure services can be injected
# as action arguments even if you don't extend any base controller class
App\Controller\:
resource: '../src/Controller/'
tags: ['controller.service_arguments']
# add more service definitions when explicit configuration is needed
# please note that last definitions always *replace* previous ones
Thanks for any help :)
Upvotes: 2
Views: 2683
Reputation: 2701
I got the same error and struggled to find the reason. You can verify if the controller is properly defined as a service with:
bin/console debug:container
If you find it in the list you can get more info with:
bin/console debug:container App\Controller\ApiRoomController
In my case the issue was in the bundle's routing file (yaml) where my method was written as Index instead of index (note uppercase I)
someroute:
path: /index
controller: App\Controller\ApiRoomController:Index
I know it is an old question but maybe it will help someone
Upvotes: 1