Hello

je crois ce genre de code dans une API

quelqu'un pourrait m'expliquer ?

 public function __construct(
        MaClasseRepository $maclasserepo
    )
    {
        $this->actionRepository = $maclasserepo;
    }


ce que je comprend pas, c'est que déjà il n'y a pas de ";" dans le construct et en plus il y a d'autres accolade à la suite, sans nom de fonction. c'est quoi c'est un genre d'accesseur/mutateur? un genre d'injection de dépendance ?
Modérateur
Bonjour,

Il me semble qu'il ne manque rien.

Mais écrit comme ça, c'est peut-être moins perturbant ? Smiley cligne

public function __construct( MaClasseRepository $maclasserepo )
{
    $this->actionRepository = $maclasserepo;
}

Amicalement,
Modérateur
parsimonhi a écrit :
Bonjour,

Il me semble qu'il ne manque rien.

Mais écrit comme ça, c'est peut-être moins perturbant ? Smiley cligne

public function __construct( MaClasseRepository $maclasserepo )
{
    $this->actionRepository = $maclasserepo;
}

Amicalement,


+1

C'est surement qu'à l'origine il y avait peut être plus d'arguments dans le constructeur. Encore une des raison que le php, c'est pas très lisible (voir commentaire ci dessous)....

En général en poo, une méthode qui attend plus de trois/quatre arguments obligatoires, ça sent mauvais.... Plus la liste est longue, plus le code sera délicat à maintenir. Attention, ce n'est pas une vérité absolue (ex : Pour créer plusieurs objets au sein d'une méthode, il se peut que c'est derniers aient besoin de beaucoup de paramètres). De plus, une longue liste de paramètres sera forcément moins lisible (eh php, je t'ai bien dans le viseur avec tes paramètres typés)
Modifié par niuxe (13 Oct 2020 - 08:50)