Skip to main content
CF

SOLID Code in Laravel

1h 46m 51s
English
Paid

Want to secure a Senior Laravel Developer position? Mastering software design principles, particularly SOLID, is essential.

Course Overview

If you're looking for a practical approach to learning SOLID principles and their application in Laravel projects, this concise 1.5-hour course is designed for you. We'll not only cover each of the five principles in detail but also examine their implementation in real-world, open-source projects. Additionally, we'll explore other key principles and develop strategies for effectively thinking about SOLID. Are you ready to dive in?

What You Will Learn

Understanding SOLID Principles

Gain a deeper understanding of each of the SOLID design principles:

  • Single Responsibility Principle
  • Open/Closed Principle
  • Liskov Substitution Principle
  • Interface Segregation Principle
  • Dependency Inversion Principle

Applying SOLID in Laravel

Discover practical examples of how these principles are applied in existing open-source Laravel projects.

Additional Discussions

Beyond SOLID

We will also delve into other important software design principles and share insights on how to cultivate a SOLID mindset throughout your development process.

Additional

https://github.com/LaravelDaily/Laravel-SOLID-Course-Examples

About the Author: LaravelDaily

LaravelDaily thumbnail

LaravelDaily is the long-running PHP / Laravel teaching brand of Povilas Korop, one of the most prolific Laravel content creators on the open web. The site has been publishing daily Laravel content for over a decade and now operates a paid course catalog plus the LaravelDaily YouTube channel and a popular weekly newsletter.

The CourseFlix listing carries five LaravelDaily courses covering Laravel project structure, REST API construction, advanced Eloquent ORM patterns, SOLID-principles application in Laravel, and the Laravel + Vue full-stack stack. Material is paid and aimed at Laravel developers ready to move past the framework basics into the patterns that show up in real production codebases.

Watch Online 21 lessons

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 21 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: Before We Begin: What is SOLID and My Initial Thoughts
All Course Lessons (21)
#Lesson TitleDurationAccess
1
Before We Begin: What is SOLID and My Initial Thoughts Demo
02:09
2
S: Single-Responsibility Principle - Too Big Methods
05:52
3
S: Single-Responsibility Principle - Too Big Controllers
04:11
4
O: Open-Closed Principle - Report Formats with New Classes
05:04
5
O: Open-Closed Principle - Vendor in Laravel
02:49
6
O: Open-Closed Principle - Eloquent Attribute with Salary Calculator
04:05
7
L: Liskov Substitution Principle - Type-Hint Everything
06:22
8
I: Interface Segregation Principle - Default Laravel Models
03:22
9
I: Interface Segregation Principle - Separate Data and Download
02:53
10
D: Dependency Inversion Principle - Pass the Parameter as Interface
03:29
11
D: Dependency Inversion Principle - Report Interface
01:45
12
Monica CRM: 4 Principles with Some Potential Improvements
12:12
13
Koel Music Service: Useful Services and Kinda Useless Repositories?
07:06
14
Spatie Media Library: HasMedia Interface with Trait Implementation
04:21
15
Laravel Fortify: Override Views for All Pages
03:01
16
Tools for Static Analysis to Detect SOLID Violations: Larastan, PHP Insights, PHP Metrics
22:07
17
DRY: Blade Components
03:03
18
Fowler's Code Smells
02:07
19
YAGNI And Premature Optimisation
04:53
20
SOLID is Too Old? Introducing SHOC and CUPID
03:42
21
So How to Apply SOLID in Everyday Coding?
02:18
Unlock unlimited learning

Get instant access to all 20 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Related courses

Frequently asked questions

What are the prerequisites for this course?
To get the most out of this course, you should have a basic understanding of Laravel and general PHP development. Familiarity with object-oriented programming concepts will also be beneficial, as the course dives into the SOLID design principles and their implementation in Laravel projects.
What projects or examples will I explore in the course?
The course includes practical examples of applying SOLID principles in existing open-source Laravel projects. You will explore potential improvements in the Monica CRM, useful services in the Koel Music Service, and the implementation of the HasMedia interface in the Spatie Media Library, among others.
Who is the target audience for this course?
This course is designed for developers looking to secure a Senior Laravel Developer position by mastering software design principles, particularly SOLID. It is suitable for those interested in enhancing their understanding of how these principles can be applied within Laravel projects.
How does the depth of this course compare to others on software design?
This course offers a focused, practical approach to understanding and applying the SOLID principles specifically within the context of Laravel. It covers each principle in detail and provides real-world examples, making it more concise and targeted than broader software design courses.
What tools will I learn to use during this course?
The course introduces tools for static analysis to detect SOLID violations, including Larastan, PHP Insights, and PHP Metrics. These tools help ensure that your code adheres to the principles taught and maintains a high standard of quality.
What topics are not covered in this course?
While the course thoroughly covers SOLID principles and their application in Laravel, it does not delve into basic Laravel setup or general PHP programming tutorials. It assumes a foundational knowledge of these areas to concentrate on advanced design principles.
How much time will I need to complete the course?
The course is designed to be concise, with a total runtime of 1.5 hours. However, additional time may be required to thoroughly explore the practical examples and apply the lessons to your own projects, depending on your existing familiarity with the material.