Closed
Description
Q | A |
---|---|
Bug report? | yes |
Feature request? | no |
BC Break report? | no |
RFC? | no |
Symfony version | 4.0.0RC2 |
My autoconfigured service could not be loaded from DIC.
My Service:
# src/Service/Test.php
<?php
namespace App\Service;
class Test
{
public function hello()
{
return 'Hello';
}
}
My services.yaml
# config/services.yaml
# 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:
# automatically injects dependencies in your services
autowire: true
# automatically registers your services as commands, event subscribers, etc.
autoconfigure: true
# this means you cannot fetch services directly from the container via $container->get()
# if you need to do this, you can override this setting on individual services
public: false
# 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/*'
# you can exclude directories or files
# but if a service is unused, it's removed anyway
exclude: '../src/{DataFixtures,Entity,Migrations,Tests}'
# controllers are imported separately to make sure they
# have the tag that allows actions to type-hint services
App\Controller\:
resource: '../src/Controller'
tags: ['controller.service_arguments']
App\Services\Test:
class: 'App\Service\Test'
public: true
My Controller:
# src/Controller/DefaultController.php
<?php
namespace App\Controller;
use App\Service\Test;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
class DefaultController extends AbstractController
{
/**
* @Route("/", name="default")
*/
public function index()
{
$this->get(Test::class);
return new Response('Hello');
}
}
If try to execute this setup I got:
Do I miss something here or is this not intended?
If I remove autoconfigure: true
then the issue disappears.