Powiel możliwe:
traits in php – any real world examples/best practices?Jakie są możliwe scenariusze użycia dla cech w PHP?
W jakich sytuacjach należałoby użyć cech w PHP? Mam całkiem niezły ogólny pogląd na to, ale nie mogę wymyślić sposobu na wykorzystanie ich w aplikacji, którą napisałem, ale może tak być dlatego, że nie potrzebuje ona w tym czasie cech.
Jeden scenariusz zdałem sobie sprawę, że potrzebuje cechy:
- wydarzenia. Zamiast mieć jedną klasę, która implementuje wzorzec obserwatora i pozwala wszystkim klasom dziedziczyć go, po prostu uczyń go cechą i pozwól klasom, które chcą wywoływać zdarzenia lub zasubskrybuj, aby użyć tej cechy. Na przykład framework Yii robi to źle, implementując rzeczy w klasie CComponent, zamiast używać cechy.
Zasadniczo funkcje, które można udostępniać w ramach klas, ale mogą rozprzestrzeniać się w hierarchiach wielu klas, powinny wykorzystywać cechy. Jakie inne scenariusze mogą skorzystać z Cechy niż system wydarzeń?
PHP posiada również [interfejsy] (http://php.net /manual/en/language.oop5.interfaces.php), niezależnie od cech ...! Jeśli chcesz porównać jabłka z jabłkami, cechy są jak mixiny z języków takich jak Ruby lub, dobrze, cechy z języków takich jak Self. – deceze
Nie sądzę, że interfejsy mają wiele wspólnego z Cechami. – Tower
Zostawię to tutaj http://compsci.ca/v3/viewtopic.php?t=14785 –