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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
namespace App\Service;
 
class ShowNumberOne
{
    public function show(): string
    {
        return 'NumberOne: 1';
    }
}
et

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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:

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,