DEV Community

Cover image for SOLID in Laravel.
Md.Shariful Islam
Md.Shariful Islam

Posted on

SOLID in Laravel.

SOLID in short

1/ S

(Single Responsibility Principle)

  • A class should have only one job.

  • Keep controllers and models thin.

  • Move logic to services or traits.

2/ O

(Open/Closed Principle)

  • Extend behavior without modifying existing code

  • Use interfaces or abstract classes.

  • Avoid editing core logic for new features.

3/ L

(Liskov Substitution Principle)

  • Subclasses must work like their parent class.

  • Methods should keep expected behavior.

  • Avoid overriding with incompatible logic.

4/ I

(Interface Segregation Principle)

  • Interfaces should be small and specific.

  • No class should depend on unused methods.

  • Split large interfaces into smaller ones.

5/ D

(Dependency Inversion Principle)

  • Depend on interfaces, not concrete classes.

  • Use Laravel’s Service Container for injection.

    • use Laravel’s Service Container

Common Laravel Mistakes That Violate SOLID

  • Fat controllers violating SRP.

  • Too much logic in Models

  • Direct Database Queries in Controllers (Violates SRP & DIP)

  • Not using contracts/interfaces, leading to tight coupling (DIP).

Laravel Tools & Features That Support SOLID

  • Service Providers & Dependency Injection (DIP).

  • Custom Requests

  • Repositories & Interfaces (OCP, LSP).

  • Middleware for separating concerns (SRP).

  • Policies & Gates for clean authorization logic (SRP).

Top comments (0)