Bonjour,

savez-vous comment appeler une méthode qui a pour paramètre une injection de dépendance ?
public function Hello(MaClass $MaClass) {
}

En vous remerciant,

Jérémie

2 réponses


Je suis pas expert, mais je tente:

public class ExampleClass
{
public void ExampleMethod(IDependency dependency)
{
// Methode
}
}

IDependency dependency = new DependencyImplementation();
ExampleClass exampleClass = new ExampleClass();
exampleClass.ExampleMethod(dependency);

C'est ça juste c'est du C# donc faut traduire un peu pour avoir une version PHP.

interface MonExempleInterface
{
    public function maMethod(): void;
}

class ImplementationMonExemple implements MonExempleInterface
{
    public function maMethod(): void
    {
        // du code ...
    }
}

class Example
{
    public function __construct(private readonly MonExempleInterface $monExemple)
    {}

    public function test(): void
    {
        $this->monExemple->maMethod();
    }
}

$instanceImplementationMonExemple = new ImplementationMonExemple();

$example = new Example($instanceImplementationMonExemple);
$example->test();

Mais tu n'es pas obligé d'utiliser une interface pour faire de l'injection de dépendance.