Several years of SOLID-aware development
summary
Covers concrete mistakes in applying SOLID in PHP with code examples: Liskov substitution fail shown by origami/paper vs papyrus (broken foldability), engine/space‑shuttle examples (strengthened preconditions, changing max speed and history constraints), and a real surprise where RabbitMQ does not guarantee single‑consumer atomicity causing duplicated jobs. Recommends practical fixes: avoid overusing extends, stop using final/private to block extension, prefer Dependency inversion via interfaces, constructor injection, and immutable objects; PHP7 type hints and interfaces are used to enforce contracts.
AI-written summary · about
chapters (7)
- 0:00Start
- 3:25Single Responsibility My precioussss...
- 4:42Interface Segregation Interfaces have responsibilities as well. Really!
- 6:19Open / Closed Don't touch me! Let's make kids instead
- 26:34Liskov Summary Don't break it, unless you like swarms of bugs biting you
- 28:48Dependency Inversion I'm not responsible for my kids' actions
- 35:08Dependency Inversion Summary Improper use of abstraction hurts
related talks
01h 00mSOLID Revisited : The State of the Matter
46mBe pragmatic, be SOLID
37mHonest mistakes caused by shallow interpretation of SOLID
30mSOLID 101: A Review for Rubyists
45mBeyond design patterns and principles - writing good OO code
01h 19mSOLID Revisited: The State of the Matter
41mIs Your Code Too SOLID?
51mGetting yourself out of trouble with anti-patterns
