Płynny interfejs (ang. Fluent Interface) to wzorzec stosowany w celu zwiększenia czytelności kodu. Można wykorzystać go na przykład do konfiguracji obiektu.

Przykładowa postać:

Preferowany zapis:

Przykład funkcji użytej w powyższym zapisie:

Zauważ, że funkcja zwraca instancję obiektu: return $this. W ten sposób możemy łączyć metody operatorem „->” w łańcuch i nie musimy powielać instancji obiektu, jak w przypadku klasycznego podejścia:

Jeżeli korzystasz z jakiegoś frameworka, to na pewno spotkałeś się już z tym wzorcem, choćby nawet w jQuery 🙂 :


PRZYKŁAD

Poniższa klasa Mail posłuży do wysyłania poczty elektronicznej. Wzorzec Fluent Interface wykorzystamy do ustawienia parametrów funkcji mail. To naprawdę prosty przykład, który co nieco wyjaśni.


Przykład na GitHub →