GitHub - LaravelDaily/Laravel-Roadmap-Learning-Path
source link: https://github.com/LaravelDaily/Laravel-Roadmap-Learning-Path
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Laravel Learning Path
This repository contains the ordered list of Laravel topics to learn, step-by-step, with related links.
If you want to add a topic, link, or any other suggestion, please open Issues or Pull Requests.
Notice 1: The same table below is also available as a database, so you would be able to transform it to any other format you want - PDF, chart, etc. See file roadmap.sql
Notice 2: This content was filled into an adminpanel generated with our QuickAdminPanel - here's a video demo of that process on Youtube. By purchasing QuickAdminPanel, you support my free initiatives, like this Roadmap.
Beginner Level
Create your very first simple Laravel project
Topic Learning Links Routing and Controllers: Basics
Callback Functions and Route::view()
Official Docs: Basic Routing
Official Docs: View Routes
Routing to a Single Controller Method
Official Docs: Basic Controllers with Routes
Route Parameters
Official Docs: Route Parameters
Blade Basics
Displaying Variables in Blade
Official Docs: Blade: Displaying Data
Blade If-Else and Loop Structures
Official Docs: Blade: If-Statements
Official Docs: Blade Loops
Layout: @include, @extends, @section, @yield
Official Docs: Blade: Layout Using Template Inheritance
Auth Basics
Starter Kits: Breeze (Tailwind) or Laravel UI (Bootstrap)
Official Docs: Laravel Breeze Official Documentation
Official Docs: Laravel UI: Official Github Page
Default Auth Model and Access its Fields from Anywhere
Official Docs: Retrieving the Authenticated User
Check Auth in Controller / Blade
Official Docs: Determining If The Current User Is Authenticated
Official Docs: Blade: Authentication Directives
Database Basics
Database Migrations
Official Docs: Database Migrations
Basic Eloquent Model and MVC: Controller -> Model -> View
Official Docs: Eloquent: Getting Started
Eloquent Relationships: belongsTo / hasMany / belongsToMany
Official Docs: Eloquent Relationships: One-to-Many
Official Docs: Eloquent Relationships: BelongsTo
Official Docs: Eloquent Relationships: Many-to-Many
Eager Loading and N+1 Query Problem
Official Docs: Relationships: Eager Loading
Full Simple CRUD
Route Resource and Resourceful Controllers
Official Docs: Laravel Resource Controllers
Article: Simple Laravel CRUD with Resource Controllers [digitalocean.com]
Forms, Validation and Form Requests
Official Docs: Laravel Validation
File Uploads and Storage Folder Basics
Official Docs: Filesystem: File Uploads
Table Pagination
Official Docs: Database Pagination
Advanced Beginner Level
The goal of this level is to find the first job or freelance gig
Topic Learning Links Routing Advanced
Route Naming Official Docs: Names Routes Route Groups Official Docs: Route Groups Route Model Binding Official Docs: Route Model Binding Route Redirect Official Docs: Redirect Routes Middleware
How default Middleware works like "Auth" Official Docs: Protecting Routes Create Custom Middleware Class Official Docs: Defining Middleware Database Advanced
Database Seeders and Factories
Official Docs: Database: Seeding
Official Docs: Defining Model Factories
Eloquent Query Scopes
Official Docs: Eloquent: Query Scopes
Polymorphic relationships
Official Docs: Polymorphic Relationships
Eloquent Accessors and Mutators
Official Docs: Accessors & Mutators
Eloquent Collections
Official Docs: Eloquent Collections
Official Docs: General Laravel Collections
Auth Advanced
Authorization: Roles/Permissions, Gates, Policies
Official Docs: Authorization
Video: Laravel Roles and Permissions: All CORE Things You Need To Know
Authorization: Extra Packages - Spatie Permission, Bouncer, etc
Video: Spatie Laravel Permission: Example Project Review
Article: Two Best Laravel Packages to Manage Roles/Permissions
Official Docs: spatie/laravel-permission
Official Docs: JosephSilber/bouncer
Authentication: Email Verification
Official Docs: Email Verification
File Uploads Advanced
Drivers and Disks, Example of Amazon S3
Official Docs: File Storage
Video: Laravel: How to Upload Files to Amazon S3
Extra Packages: Spatie Medialibrary, Intervention Image, etc
Official Docs: spatie/laravel-medialibrary
Official Docs: intervention/image
API Basics
API Routes and Controllers
Official Docs: API Resource Routes
Official Docs: Default Route Files
API Eloquent Resources
Official Docs: Eloquent: API Resources
API Auth with Sanctum
Official Docs: Laravel Sanctum
Debugging Errors
Log Files in Laravel
Official Docs: Logging
Try-Catch and Laravel Exceptions
Official Docs: Error Handling
Video: Exceptions in Laravel: Why/How to Use and Create Your Own
Local Debugging Tools: Debugbar, Telescope, Ray
Official Docs: barryvdh/laravel-debugbar
Official Docs: Laravel Telescope
Official Docs: Spatie Ray (Premium Tool)
Video: Debug Eloquent Queries from API: Laravel Telescope
Video: Spatie Ray: Laravel Debugging with Pleasure
Customizing Error Pages and Messages
Official Docs: Custom HTTP Error Pages
Video: Laravel Error Pages: Change Text or Customize Layouts
(optional) Third Party Bug Trackers: Bugsnag, Flare, Sentry, Rollbar
Official Docs: Bugsnag Laravel
Official Docs: Flare Homepage
Official Docs: Sentry Laravel
Official Docs: Rollbar Laravel
Video: Bug Tracking in Laravel: Bugsnag vs Flare [Demo/Review]
Sending Email
Mailables and Mail Facade
Official Docs: Mail & Mailables
Configure Drivers/Services: Mailgun, Mailtrap, etc
Article: How to Send Email From Laravel, and Why We Need 3rd Party Providers For It
Official Docs: Mail: Drivers Prerequisites
Notifications System: Email, SMS, Slack, etc.
Official Docs: Notifications
Automated Testing with PHPUnit
"Smoke" Tests to Check if Pages are Loading
Official Docs: Testing: Getting Started
Course: Laravel: PHPUnit Testing for Beginners
Configure Testing Database and Test CRUD Operations
Official Docs: Database Testing
Deployment and Version Control
Git Version Control
Official Docs: Git
Video: Git in Laravel. Part 1 - Branches: Main, Develop and Feature
Deployment on Live Servers
Official Docs: Deployment
Article: How to Deploy Laravel Projects to Live Server: The Ultimate Guide
Article: What Server is Needed to Deploy Laravel Projects
Video: How we Deploy Laravel: Branches, Staging Servers, Forge and Envoyer
(WORK IN PROGRESS) Mid Level
Topic Learning Links (optional) Starter Kits: Laravel Jetstream and Fortify
Events and Listeners
Routing Extra Features
Route Caching
Rate Limiting
Various Extra Features
Invokable controllers
Blade Extra Features
Blade Components
Custom Blade Directives
API Advanced
Front-end Basics: Vue.js or Similar Alternative
Jobs and Queues
Laravel Horizon (optional, if you use Redis) Official Docs: Laravel Horizon Payments
(TO BE DONE LATER) Senior Level
Topic Learning LinksRecommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK