Maison >développement back-end >tutoriel php >Chaînage de méthodes et interface Fluent en PHP : quelle est la différence ?

Chaînage de méthodes et interface Fluent en PHP : quelle est la différence ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-20 05:30:09876parcourir

Method Chaining vs. Fluent Interface in PHP: What's the Difference?

Chaînage de méthodes vs interface Fluent en PHP

Le concept de chaînage de méthodes dans la programmation orientée objet vous permet d'exécuter une séquence de mutateur méthodes sur un seul objet, où chaque méthode renvoie le même objet (ou un autre objet pertinent). Cela permet une structure de code plus concise et lisible.

Implémentation du chaînage de méthodes en PHP

Pour implémenter le chaînage de méthodes en PHP, vous créez essentiellement une série de méthodes de mutation qui tous renvoient l'objet actuel (ou un substitut approprié).

Considérez ce qui suit exemple :

class fakeString
{
    private $str;
    function __construct()
    {
        $this->str = "";
    }

    function addA()
    {
        $this->str .= "a";
        return $this;
    }

    function addB()
    {
        $this->str .= "b";
        return $this;
    }

    function getStr()
    {
        return $this->str;
    }
}

$a = new fakeString();

echo $a->addA()->addB()->getStr();

Dans cet exemple, la classe fakeString inclut les méthodes de mutation addA() et addB(), qui modifient la chaîne stockée dans l'objet et renvoient l'objet modifié. La méthode getStr() récupère la chaîne finale.

En chaînant ces méthodes, vous pouvez obtenir une syntaxe compacte et expressive, comme le montre la dernière ligne où nous exécutons une séquence d'appels de méthode : $a-> addA()->addB()->getStr(). Ce code concatène les caractères "a" et "b" à la chaîne et génère "ab".

Informations supplémentaires

Le chaînage de méthodes est souvent utilisé en conjonction avec un interface fluide, qui garantit que les types de retour de méthode sont cohérents et appropriés à la séquence de chaînage. Bien que PHP n'impose pas la cohérence des types de retour, il est recommandé de la respecter pour des raisons de clarté et de maintenabilité.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn