Course Curriculum
1 Intro
2 Moving Code Away From Controller
Moving Validation to Form Request Class
4:41
Transform Data Before Saving: Mutator or Observer
5:18
Saving Data: Service or Action Class?
5:53
Repositories: Why NOT to Use Them?
4:16
"Background" Tasks: Dispatch Jobs into Queue
3:27
Dispatch an Event and Let Others Listen to it
5:31
Repeating Responses: Base Controller or Trait?
3:41
Global Helpers: Methods That "Don't Fit" Anywhere Else
2:59
3 Practical Examples from Open-Source Projects
Eloquent Mutators: 2 Open-Source Examples
3:41
Service Classes: 2 Open-Source Examples
3:20
Actions Classes: 2 Open-Source Examples
2:22
Jobs & Queues: 2 Open-Source Examples
2:36
Events & Listeners: 2 Open-Source Examples
4:02
Traits: 2 Open-Source Examples
2:19
Global Helpers: 2 Open-Source Examples
2:46
4 Architectural Structure: Areas, Modules, Domains
5 SOLID Code Structures
S: Single-Responsibility Principle - Too Big Methods
6:52
S: Single-Responsibility Principle - Too Big Controllers
4:10
O: Open-Closed Principle - Report Formats with New Classes
5:03
O: Open-Closed Principle - Vendor in Laravel
2:48
O: Open-Closed Principle - Eloquent Attribute with Salary Calculator
4:04
L: Liskov Substitution Principle - Type-Hint Everything
6:21
I: Interface Segregation Principle - Default Laravel Models
3:21
I: Interface Segregation Principle - Separate Data and Download
2:52
D: Dependency Inversion Principle - Pass the Parameter as Interface
3:28
D: Dependency Inversion Principle - Report Interface
1:44
