Ένα trait είναι ένας μηχανισμός για επαναχρησιμοποίηση κώδικα σε πολλές κλάσεις που δεν σχετίζονται με κληρονομικότητα. Εφόσον η PHP επιτρέπει μόνο απλή κληρονομικότητα, τα traits παρέχουν έναν τρόπο να μοιράζονται μεθόδους (και ιδιότητες) οριζόντια — μια μορφή "σύνθετης" επαναχρησιμοποίησης κώδικα, όπως τα mixins.
Το πρόβλημα που λύνουν τα traits
PHP has single inheritance — a class can extend only ONE parent. But you often want
to share the SAME methods across unrelated classes (e.g. logging, timestamps).
Duplicating the code is bad; traits let you reuse it without inheritance.
