Konflikty nazw w trait
Trait a konstruktor i destruktor
Single Responsibility Principle (SRP)
Konflikty nazw metod w Trait
Wiązanie (coupling)
Dynamiczne właściwości i metody (stdClass)
Klasy abstrakcyjne a polimorfizm dynamiczny
Kiedy używać klas abstrakcyjnych?
Porównywanie obiektów (==, ===)
Open/Closed Principle (OCP)