How to Structure Laravel Project

4h 51m 17s
English
Paid

Basic Laravel is an MVC framework, it’s clear what should be in Model, View and Controller. But what if you have custom logic for processing data before passing it to the view? Where should it be?

Read more about the course
  • In the same Controller method?
  • Separate private Controller method?
  • Static function in Model?
  • Separate class, like Service?
  • Or, maybe, global helper function without any class?
  • Also, I’ve heard Repository is a widely-used pattern?

And the list goes on.

Of course, the correct answer is it depends. But depends on what?
This is what I’m gonna talk about in this course.

The goal is to discuss practical examples of structuring larger Laravel applications, various approaches and patterns. We will analyze existing popular open-source projects and their structure.

Important notice: this course won’t be about design patterns. So fancy keywords like Singleton, Factory, Adapter, Repository etc will be used only when appropriate.
What I will try to do is focus on the practical side: folders, classes and methods, and not on how that pattern actually is called in theory. In reality, every project is actually a mix of patterns, and developers don’t even know how they’re called.

Watch Online How to Structure Laravel Project

Join premium to watch
Go to premium
# Title Duration
1 Use More Eloquent: Accessors/Mutators, Scopes, Observers & "Magic" Methods 10:10
2 Controllers and Routes: Where to Put "Extra" Methods? 08:54
3 Structuring Blade Files: @extends, @yield and Other Commands 13:18
4 Custom Base Controllers and Base Models 05:14
5 Configuration: Never Use env() Directly in Controllers/Models 05:27
6 Form Request Classes for Validation 04:36
7 User Notifications: Stop Using Mail::send() 05:51
8 Jobs, Queues and Scheduling Tasks 05:05
9 Events and Their Listeners 07:16
10 API Resources for Data Transformation 09:18
11 Global Helpers, External PHP Classes, Autoloading and PSR-4 06:53
12 1. Single-Responsibility Principle 06:36
13 2. Open-Closed Principle 11:37
14 3. Liskov Substitution Principle 04:23
15 4. Interface Segregation Principle 05:18
16 5. Dependency Inversion Principle 04:44
17 Repositories: to Use or Not to Use? 09:12
18 When/How to Use Service Classes? 06:36
19 Traits: Good Practice or Last Resort? 04:51
20 Dependency injection in PHP and Laravel 06:31
21 Adapter, Strategy, Factory and Other Fancy Words 05:29
22 Wait, What About Unit Testing? 05:35
23 Create Your Own Laravel Package 09:20
24 Laravel Modules: Package by Nicholas Widart 07:03
25 Review: Akaunting Open-Source Project Structure 40:51
26 Review: Laravel.io Community Portal Structure 12:03
27 Review: MonicaHQ - Personal CRM Project Structure 41:55
28 Public Website + Adminpanel: Reusing Classes and Features 12:16
29 Refactoring Big Controller Into Various Classes/Methods 14:55

Similar courses to How to Structure Laravel Project

Scaling Laravel

Scaling Laravelserversforhackers.com

Category: Laravel
Duration 9 hours 29 minutes 45 seconds
Laravel Livewire

Laravel LivewireCaleb Porziolaravel-livewire.com

Category: Laravel
Duration 11 hours 29 minutes 28 seconds
Vue 3, Nuxt.js and Laravel: A Practical Guide

Vue 3, Nuxt.js and Laravel: A Practical Guideudemy

Category: Vue, Nuxt, Laravel
Duration 10 hours 17 minutes 9 seconds
Vue 3 and Laravel: Breaking a Monolith to Microservices

Vue 3 and Laravel: Breaking a Monolith to Microservicesudemy

Category: Vue, Laravel, Redis
Duration 14 hours 4 minutes 43 seconds
Test-Driven Laravel

Test-Driven Laraveladamwathan

Category: Laravel
Duration 21 hours 48 minutes 56 seconds
SAAS Adventure - Learn to Create your own SAAS

SAAS Adventure - Learn to Create your own SAASsaasadventure.io

Category: JavaScript, Laravel
Duration 8 hours 37 minutes 3 seconds
Laravel Eloquent: Expert Level

Laravel Eloquent: Expert Levellaraveldaily.com

Category: Laravel
Duration 3 hours 46 minutes 18 seconds
Master Laravel & Create High-Level Applications with Laravel

Master Laravel & Create High-Level Applications with Laraveludemy

Category: Laravel, PHP
Duration 14 hours 44 minutes 48 seconds
Facebook Clone with Laravel, TDD, Vue & Tailwind CSS

Facebook Clone with Laravel, TDD, Vue & Tailwind CSSudemy

Category: Vue, Laravel
Duration 9 hours 9 minutes 44 seconds
React and Laravel: Breaking a Monolith to Microservices

React and Laravel: Breaking a Monolith to Microservicesudemy

Category: React.js, Docker, Laravel, Redis
Duration 15 hours 7 minutes 45 seconds