[6.4][DependencyInjection] Override de services
Bonjour,
Je teste l'override de services sur Symfony comme on peut le voir au début de cette doc doc: Service decoration.
Pour se faire, je crée deux services:
Code:
1 2 3 4 5 6 7 8 9 10
|
namespace App\Service;
class ShowNumberOne
{
public function show(): string
{
return 'NumberOne: 1';
}
} |
et
Code:
1 2 3 4 5 6 7 8 9 10
|
namespace App\Service;
class ShowNumberTwo
{
public function show(): string
{
return 'NumberTwo: 2';
}
} |
Et je met à jour le config/services.yaml en ajoutant ces deux lignes:
Code:
1 2 3 4 5
|
App\Service\ShowNumberOne: ~
App\Service\ShowNumberOne:
class: App\Service\ShowNumberTwo |
Egalement, j'ajoute cette route dans mon controller WelcomeController.php:
Code:
1 2 3 4 5 6 7 8 9 10
|
#[Route('/welcome/show-number', name: 'welcome_show_number')]
public function welcomeShowNumber(
ShowNumberOne $showNumberOne,
): Response
{
$result = $showNumberOne->show();
return new Response($result);
} |
Lorsque je teste la route, l'override ne fonctionne pas et j'ai cette erreur:
Citation:
The exception message is App\Controller\WelcomeController::welcomeShowNumber(): Argument #1 ($showNumberOne) must be of type App\Service\ShowNumberOne, App\Service\ShowNumberTwo given
Voyez vous ce qu'il ne va pas s'il vous plaît?
Merci par avance,