Skip to main content
CF

How to Structure Laravel Project

4h 51m 17s
English
Paid

How to Structure Laravel Project is a 29-lesson 4 hours 51 minutes self-paced course by LaravelDaily. Basic Laravel is an MVC framework, it’s clear what should be in Model, View and Controller.

Course facts

Lessons
29
Duration
4 hours 51 minutes
Level
All levels
Language
English
Updated
Instructor
LaravelDaily
Price
Premium

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?

  • 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.

Who teaches How to Structure Laravel Project? 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.

What lessons are included in How to Structure Laravel Project?

This is a demo lesson (10:00 remaining)

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

View Pricing
0:00
/
#1: Use More Eloquent: Accessors/Mutators, Scopes, Observers & "Magic" Methods
All Course Lessons (29)
#Lesson TitleDurationAccess
1
Use More Eloquent: Accessors/Mutators, Scopes, Observers & "Magic" Methods Demo
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
Unlock unlimited learning

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

Learn more about subscription

What courses are similar to How to Structure Laravel Project?

Frequently asked questions

What prerequisites should I have before enrolling in this course?
Before enrolling in this course, you should have a basic understanding of PHP and the Laravel MVC framework. Familiarity with concepts such as Models, Views, and Controllers is essential as the course builds on these fundamentals to explore more advanced structuring methods.
What projects or applications will I build during the course?
The course covers structuring strategies through reviews of real-world projects such as the Akaunting open-source project, the Laravel.io community portal, and MonicaHQ - a personal CRM. While no specific project is built from scratch, these examples provide practical insights into effective Laravel project structuring.
Who is the target audience for this course?
This course is aimed at developers who have foundational knowledge of Laravel and are looking to improve their project structuring skills. It's particularly useful for those who want to understand advanced concepts like service classes, dependency injection, and design patterns in Laravel.
How does this course compare in depth with other Laravel courses?
While many Laravel courses focus on building applications from scratch, this course delves into the architecture and structuring aspects of Laravel projects. It emphasizes best practices and design principles, such as the Single-Responsibility Principle and Open-Closed Principle, offering a deeper understanding of Laravel's capabilities beyond basic CRUD operations.
What specific tooling or platforms does the course cover?
The course covers various tools and concepts integral to Laravel projects, such as Eloquent accessors/mutators, API resources for data transformation, and the use of Laravel event listeners. It also discusses configuration best practices and the use of external PHP classes with autoloading and PSR-4 standards.
What topics are notably not covered in this course?
The course does not focus on the basic installation or setup of Laravel projects or beginner-level tutorials on CRUD operations. Instead, it assumes knowledge of these areas and concentrates on advanced structuring methods and design principles.
How much time should I expect to commit to completing this course?
The course consists of 29 lessons, though the total runtime is not specified. Given the advanced nature of the content, students should plan to spend additional time practicing the concepts through hands-on application and reviewing provided project structures to fully grasp the material.