Komponowanie prezenterów z cech
Jeśli musimy zaimplementować ten sam kod w wielu prezenterach (np. weryfikacja, czy użytkownik jest zalogowany), kuszące jest umieszczenie kodu we wspólnym przodku. Drugą opcją jest stworzenie cech jednego przeznaczenia.
Zaletą tego rozwiązania jest to, że każdy prezenter może używać tylko cech, których faktycznie potrzebuje, podczas gdy wielokrotne dziedziczenie nie jest możliwe w PHP.
Te cechy mogą wykorzystać fakt, że wszystkie metody inject są wywoływane sekwencyjnie, gdy prezenter jest tworzony. Musisz tylko upewnić się, że nazwa każdej metody wtrysku jest unikalna.
Traits mogą powiązać kod inicjalizacyjny ze zdarzeniami onStartup lub onRender.
Przykłady:
Prezenter wtedy po prostu wykorzystuje te cechy: