我是 symfony 的初学者。当我在 symphony 中调用 get API 时,显示如下错误。
RuntimeException
HTTP 500 Internal Server Error
Could not resolve argument $salesteamRepository of "App\Controller\SalesController::index()", maybe you forgot to register the controller as a service or missed tagging it with the "controller.service_arguments"?
Run Code Online (Sandbox Code Playgroud)
小智 6
发生这种情况是因为您当前的类不充当服务,并且您在类中使用的所有类都不会由 symfony 自动注入。
如果您想为您创建的所有类自动进行依赖注入,您可以将您的类扩展为AbstractController,如下所示
class MyPet extends AbstractController{}
Run Code Online (Sandbox Code Playgroud)
这在 symfony 官方文档中已经提到过。
在 Symfony 中,控制器不需要注册为服务。但如果您使用默认的 services.yaml 配置,并且您的控制器扩展 AbstractController 类,它们会自动注册为服务。这意味着您可以像任何其他普通服务一样使用依赖项注入。