- Introduction
- SOLID Principles
- Project Structure
- Additional Resources
In this project, you will learn about the SOLID principles, which are fundamental to object-oriented design. The project includes examples of each principle, demonstrating both correct and incorrect implementations in PHP.
Single-responsibility Principle (SRP) states:
A class should have one and only one reason to change, meaning that a class should have only one job.
Open-closed Principle (OCP) states:
Objects or entities should be open for extension but closed for modification.
Liskov Substitution Principle states:
Let q(x) be a property provable about objects of x of type T. Then q(y) should be provable for objects y of type S where S is a subtype of T
The interface segregation principle states:
A client should never be forced to implement an interface that it doesn’t use, or clients shouldn’t be forced to depend on methods they do not use.
Dependency inversion principle states:
Entities must depend on abstractions, not on concretions. It states that the high-level module must not depend on the low-level module, but they should depend on abstractions.
The project includes folders named after each SOLID principle. Inside each folder, there are two files: true.php
and false.php
. These files demonstrate the correct and incorrect implementations of each principle in PHP.
To complete this project, I used the following resources:
Feel free to refer to these resources for a deeper understanding of SOLID principles.