Php-guide.7z →

A class should not be forced to implement methods it does not use.

Instead of one massive WorkerInterface , create smaller interfaces like WorkableInterface and SleepableInterface so a robot class isn't forced to implement a sleep() method. D: Dependency Inversion Principle (DIP) php-guide.7z

Classes should be open for extension but closed for modification. A class should not be forced to implement

The acronym represents five essential rules for high-quality software architecture: S: Single Responsibility Principle (SRP) not concrete implementations.

Depend on abstractions (interfaces), not concrete implementations.