این یک نقشه راه لاراول که توسط Povilas Korop گردآواری شده است. Povilas یکی بهترین افرادی هست که تو حوزه لاراول و PHP فعالیت میکنه و با کانال یوتویوب LaravelDaily آموزشهای کامل و در عین حال سادهای به مخاطباش ارائه میده.
سطح 1 از 4 – مبتدی
ساخت یک پروژه لاراولی به صورت سریع و ساده
Links | Routing and Controllers |
---|---|
Test: Let’s Test Your Laravel Routing Skills: Complete 12 Tasks | Basics |
Official Docs: Basic Routing Official Docs: View Routes | Callback Functions and Route::view |
Official Docs: Basic Controllers with Routes | Routing to a Single Controller Method |
Official Docs: Route Parameters | Route Parameters |
Official Docs: Names Routes Video: Laravel: Why You Need Route Names | Route Naming |
Official Docs: Route Groups Video: Laravel Route Grouping: Simple to Very Complex Video: More videos | Route Groups |
Links | Blade |
---|---|
Test: Let’s Test Your Laravel Blade Skills: Complete 8 Tasks Video: 9 Quick Tips about Laravel Blade | Basics |
Official Docs: Blade: Displaying Data | Displaying Variables in Blade |
Official Docs: Blade: If-Statements Official Docs: Blade Loops | Blade If-Else and Loop Structures |
Official Docs: Blade: Layout Using Template Inheritance | Layout: @include, @extends, @section, @yield |
Official Docs: Blade Components Video: Laravel Blade Components: Two Examples – Laravel Breeze/UI | Blade Components |
Links | Auth |
---|---|
Test: Test Your Laravel Auth Skills: Complete 7 Tasks Video: 8 Tips & Tricks about Laravel Auth | Basics |
Official Docs: Laravel Breeze Official Documentation Official Docs: Laravel UI: Official Github Page Video: Laravel 8 Auth: 5 “Latest” Things You Need to Know Video: More videos | Starter Kits: Breeze (Tailwind) or Laravel UI (Bootstrap) |
Official Docs: Retrieving the Authenticated User | Default Auth Model and Access its Fields from Anywhere |
Official Docs: Determining If The Current User Is Authenticated Official Docs: Blade: Authentication Directives | Check Auth in Controller / Blade |
Official Docs: Protecting Routes | Auth Middleware |
Links | Database |
---|---|
Test: Test Your Laravel Migrations Skills: Complete 10 Tasks Official Docs: Database Migrations Video: Laravel Migrations: Table Created but Foreign Key Failed? Video: More videos | Database Migrations |
Test: Test Your Eloquent Basic Skills: 11 Tasks to Complete Official Docs: Eloquent: Getting Started | Basic Eloquent Model and MVC: Controller -> Model -> View |
Test: Test Your Eloquent Relationships Skills: 9 Tasks to Complete Official Docs: Eloquent Relationships: One-to-One Official Docs: Eloquent Relationships: One-to-Many Official Docs: Eloquent Relationships: BelongsTo Official Docs: Eloquent Relationships: Many-to-Many Video: How to Safely Change DB Relations in Live Laravel Project | Eloquent Relationships: belongsTo / hasMany / belongsToMany |
Official Docs: Relationships: Eager Loading Video: Laravel N+1 Query Detector: Don’t Forget Eager Loading | Eager Loading and N+1 Query Problem |
Links | Full Simple CRUD |
---|---|
Official Docs: Laravel Resource Controllers Article: Simple Laravel CRUD with Resource Controllers digitalocean.com Video: Laravel Nested Resource Controllers: Two-Level Deep Video: More videos | Route Resource and Resourceful Controllers |
Test: Test Your Laravel Validation Skills: Complete 9 Tasks Official Docs: Laravel Validation Video: New in Laravel 6.13: Format Validation Error Field Name Video: More videos | Forms, Validation and Form Requests |
Test: Test Your Laravel File Upload Skills: Complete 7 Tasks Official Docs: Filesystem: File Uploads Video: Laravel: How to Upload File During User Registration Video: More videos | File Uploads and Storage Folder Basics |
Official Docs: Database Pagination | Table Pagination |
سطح 2 از 4 – مبتدی پیشرفته
هدف این سطح یافتن اولین شغل یا کار به صورت فریلنسری است.
Links | Routing |
---|---|
Video: Laravel: 8 Tips for Advanced Routing Video: More videos | Advanced |
Official Docs: Route Model Binding Video: Laravel Route Model Binding: All You Need To Know Video: More videos | Route Model Binding |
Official Docs: Redirect Routes | Route Redirect |
Links | Middleware |
---|---|
Official Docs: Defining Middleware | Create Custom Middleware Class |
Links | Database Advanced |
---|---|
Official Docs: Database: Seeding Official Docs: Defining Model Factories Video: Laravel Factories: Generate and Re-use Fake Records Video: More videos | Database Seeders and Factories |
Official Docs: Eloquent: Query Scopes Video: Same Eloquent Where Condition? Refactor into Local Scopes | Eloquent Query Scopes |
Official Docs: Polymorphic Relationships Video: Laravel.io Portal: Polymorphic Relations Example | Polymorphic relationships |
Official Docs: Accessors & Mutators | Eloquent Accessors and Mutators |
Official Docs: Eloquent Collections Official Docs: General Laravel Collections | Eloquent Collections |
Official Docs: Soft Deleting | Soft Deletes |
Links | Auth Advanced |
---|---|
Official Docs: Authorization Video: Laravel Roles and Permissions: All CORE Things You Need To Know Video: More videos | Authorization: Roles/Permissions, Gates, Policies |
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 | Authorization: Extra Packages – Spatie Permission, Bouncer, etc |
Official Docs: Email Verification Video: How to Translate/Customize Laravel Auth Default Emails | Authentication: Email Verification |
Links | File Uploads |
---|---|
Course: File Uploads in Laravel | Advanced |
Official Docs: File Storage Video: Laravel: How to Upload Files to Amazon S3 | Drivers and Disks, Example of Amazon S3 |
Official Docs: spatie/laravel-medialibrary Official Docs: intervention/image Video: Spatie Media Library Pro: Laravel File Uploads with Great UX REVIEW Video: More videos | Extra Packages: Spatie Medialibrary, Intervention Image, etc |
Links | API |
---|---|
Course: How to Create Laravel API Video: Create Model with API Controller – in one Artisan Command Video: Laravel API: Be Careful When Doing Changes | Basics |
Official Docs: API Resource Routes Official Docs: Default Route Files Video: Junior Code Review: Simple Laravel API – in 5 Different Ways | API Routes and Controllers |
Official Docs: Postman API Client | Working with API Clients: Postman or Alternatives |
Official Docs: Eloquent: API Resources Video: Laravel API Result: Add Fields with Map or Appends | API Eloquent Resources |
Official Docs: Laravel Sanctum Video: Laravel API Auth with Sanctum and API Tokens Video: More videos | API Auth with Sanctum |
Video: Laravel API 404 Error: Customize Exception Message Article: HTTP Status Codes | API Error Handling and Status Codes |
Links | Debugging Errors |
---|---|
Official Docs: Logging | Log Files in Laravel |
Official Docs: Error Handling Video: Exceptions in Laravel: Why/How to Use and Create Your Own | Try-Catch and Laravel Exceptions |
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 | Local Debugging Tools: Debugbar, Telescope, Ray |
Official Docs: Custom HTTP Error Pages Video: Laravel Error Pages: Change Text or Customize Layouts Video: New in Laravel 8.26: Override 404 Page with Route Missing | Customizing Error Pages and Messages |
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 | (optional) Third-Party Bug Trackers: Bugsnag, Flare, Sentry, Rollbar |
Links | Sending Email |
---|---|
Video: Laravel: 3 Ways to Send a Welcome Email (Controller vs Observer vs Events) | Start with email in Laravel |
Official Docs: Mail & Mailables | Mailables and Mail Facade |
Article: How to Send Email From Laravel, and Why We Need 3rd Party Providers For It Official Docs: Mail: Drivers Prerequisites | Configure Drivers/Services: Mailgun, Mailtrap, etc |
Official Docs: Notifications Video: Laravel Notifications: “Database” Driver – Demo Project | Notifications System: Email, SMS, Slack |
Links | Multi-Language |
---|---|
Official Docs: Localization Course: Multi-language Laravel | Localization / Translations / Multi-Language |
Article: Multi-Language Routes and Locales with Authentication Article: Laravel Localization Made Easy | Translating Static Texts |
Article: Easy Laravel Localization Tutorial with Blog Use Case and Repository Example Video: Multi-Language Laravel: Part 2 – DB Models with “title_en” Video: Multi-Language Laravel: Part 3 – Packages for DB Models | Translating Models in Database |
Links | How to Test |
---|---|
Video: PHPUnit in Laravel: Simple Example of Why/How to Test | Automated Testing with PHPUnit |
Official Docs: Testing: Getting Started Course: Testing Laravel: Course by Spatie Course: My Course: Laravel: PHPUnit Testing for Beginners Video: Laravel TDD in “Live” Mode: Checkout Code Review | “Smoke” Tests to Check if Pages are Loading |
Official Docs: Database Testing | Configure Testing Database and Test CRUD Operations |
Links | Deployment and Version Control |
---|---|
Official Docs: Git Video: Git in Laravel. Part 1 – Branches: Main, Develop and Feature Video: More videos | Git Version Control |
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 | Deployment on Live Servers |
سطح 3 از 4 – متوسط
میتوانید با 3 تا 5 سال تجربه عملی به تمام ویژگیهای لاراول تسلط داشته باشید.
Links | Routing Extra Features |
---|---|
Official Docs: Route Caching | Route Caching |
Official Docs: Rate Limiting Video: Laravel: Create Public API with Cache and Rate Limits | Rate Limiting |
Official Docs: Single Action Controllers | Invokable controllers |
Links | Database/Eloquent Extra Features |
---|---|
Official Docs: Eloquent Observers Video: Laravel Model: Check if Any Field Was Changed Video: Eloquent Observers or Events Listeners? Which is Better? | Model Observers |
Official Docs: Query Builder: Raw Expressions | Raw Database Queries |
Official Docs: All About Eloquent Course: Eloquent: Expert Level Article: 20 Laravel Eloquent Tips and Tricks Video: Laravel Collections: 5 Methods with Real Examples Video: More videos | All Eloquent Features |
Links | Various Extra Laravel Features |
---|---|
Official Docs: Extending Blade | Custom Blade Directives |
Video: Laravel: 3 Ways to Send a Welcome Email (Controller vs Observer vs Events) Official Docs: Events and Listeners Video: Laravel: Why Observers and Event Listeners are “Risky” | Events and Listeners |
Official Docs: HTTP Client Video: Laravel and External APIs: Get Data with HTTP Client | Laravel HTTP Client and Guzzle |
Official Docs: Laravel Socialite | Login with X: Laravel Socialite |
Official Docs: Writing Artisan Commands Video: How to Create Artisan Commands in Laravel | Creating Artisan Commands |
Official Docs: Task Scheduling Video: Laravel Task Scheduling: Run Artisan Command Hourly | Task Scheduling |
Official Docs: Cache Video: Cache Eloquent Query Results to Load Pages Instantly | Caching |
Official Docs: Broadcasting | Real-time: Broadcasting, Echo and Pusher |
Links | Jobs and Queues |
---|---|
Course: Queues in Laravel | Jobs and Queues |
Official Docs: Creating Jobs Official Docs: Queueing Notifications Official Docs: Queued Event Listeners Official Docs: Queueing Mail Video: Laravel Queues 101: Example with Sending Emails | Queueable Classes and Jobs |
Official Docs: Dispatching Jobs | Job Dispatching, Batching and Chaining |
Official Docs: Dealing with Failed Jobs | Processing Failed Jobs |
Official Docs: Running the Queue Worker Official Docs: Configuring Supervisor | Configuring Queues: Drivers, Redis, Supervisor |
Official Docs: Laravel Horizon | Laravel Horizon (optional, if you use Redis) |
Links | API Advanced |
---|---|
Article: Laravel API: How to Upload File from Vue.js | Upload Files via API |
Article: Laravel API Documentation with OpenAPI/Swagger Video: Scribe: New Package for Laravel API Documentation | Generate API Documentation |
Article: Versioning your REST API with Laravel Video: Versioning your API: from V1 to V2 and Beyond video from my course | API Versioning |
Official Docs: Laravel Passport Video: Laravel API Auth Demo: Passport, oAuth and Sanctum | API with OAuth and Laravel Passport |
Course: Vue.js 3 + Laravel 9 SPA: CRUD with Auth Course: React.js + Laravel: SPA CRUD with Auth | Only-API Projects with Front-end like Vue.js / React.js |
Course: Flutter Mobile App with Laravel API Article: Using Sanctum to authenticate a mobile app | Only-API Projects with Mobile Apps |
Links | (optional) Starter Kits: Laravel Jetstream and Fortify |
---|---|
Official Docs: Laravel Jetstream Course: Laravel Jetstream+Livewire: Real Mini-Project Video: Laravel Jetstream: How it Works and Example How to Customize | Laravel Jetstream (requires Livewire/Inertia knowledge) |
Official Docs: Laravel Fortify Video: Laravel Fortify: Four Auth Things to Customize | Laravel Fortify |
Links | Payments |
---|---|
Official Docs: Laravel Cashier (Stripe) Official Docs: Laravel Cashier (Paddle) | Laravel Cashier with Stripe/Paddle |
Article: How To Integrate Paypal Payment Gateway In Laravel | Custom Payment Providers: PayPal, Mollie, etc |
Links | Automated Testing Advanced |
---|---|
Course: Build A Laravel App With TDD Course: TDD With Laravel | TDD: Test-Driven Development |
Official Docs: Mocking | Mocking |
Official Docs: Laravel Dusk | (optional) Laravel Dusk |
Links | Full-Text Search |
---|---|
Official Docs: Laravel Scout | Laravel Scout |
Article: ElasticSearch Driver for Laravel Scout Official Docs: Algolia: Scout Extended Article: Full-Text Search with MeiliSearch and Laravel Scout | Drivers: ElasticSearch, Algolia or MeiliSearch |
Links | Laravel Packages |
---|---|
Video: How to Contribute to Laravel Docs (or any open-source repository) | Contributing to Packages, making Pull Requests |
Official Docs: Package Development Course: Laravel Package Development | Create Laravel Packages |
سطح 4 از 4 – حرفهای
حالا وقت گرفتن مسئولیت و تصمیمات معماری در پروژههای بزرگ رسیده است.
Links | Design Patterns |
---|---|
Video: Laravel Design Patterns – Bobby Bouwmann – Laracon EU 2018 Amsterdam Course: Laracasts: Design Patterns in PHP Video: Colin Decarlo – Design Patterns with Laravel Laracon 2018 Video: Matt Stauffer – Patterns That Pay Off Laracon 2018 Course: Design Patterns in PHP Article: Design Patterns for Humans | PHP/Laravel Design Patterns |
Article: Design Patterns PHP: Creational | Creational Design Patterns |
Article: Design Patterns PHP: Structural | Structural Design Patterns |
Article: Design Patterns PHP: Behavioral | Behavioral Design Patterns |
Links | Well-written Code |
---|---|
Course: SOLID Code in Laravel Video: Becoming a better developer by using the SOLID design principles by Katerina Trajchevska Article: Writing Maintainable Code: SOLID Principles Explained in PHP (Laravel) Course: Laracasts: SOLID Principles in PHP Video: PHP Solid Principles Playlist | SOLID Code |
Course: Scaling Laravel Video: Enterprise Laravel by Matt Stauffer Article: What the hell is scalable code anyway? | Scalable Code |
Course: 10+ Laravel Refactoring Examples Article: How would you know if you’ve written readable and easily maintainable code? forum thread Article: Crafting maintainable Laravel applications Article: 7 Golden Rules of Clean, Simple and Maintainable Code | Maintainable Code |
Article: Repository: alexeymezenin / laravel-best-practices Course: PHP: The Right Way Article: Reddit: What are your Laravel best practices? | Best Practices and Standards |
Links | Large Datasets |
---|---|
Course: How to Structure Databases in Laravel Course: GraphQL in Laravel From Scratch | Large Database Structures |
Official Docs: MongoDB and Laravel Integration Article: MongoDB + Laravel = Love — When to use NoSQL | NoSQL Solutions |
Course: Better Eloquent Performance Article: 18 Tips to optimize laravel database queries Article: Optimizing Laravel Part 2: Improving Query Performance with Database Indexing Course: Eloquent Performance Patterns | Eloquent/SQL Query Optimization |
Article: Scaling Laravel App with Multiple Databases Article: Multiple DB Connections in Laravel | Scaling to Multiple Databases |
Links | Working with High-Traffic Projects |
---|---|
Official Docs: Laravel Deployer Official Docs: Envoyer – Zero Downtime PHP Deployment | Stability and Zero-Downtime Deployments |
Course: Performant Laravel Article: The Ultimate Performance Checklist For Laravel Apps Article: How to Optimize PHP Laravel Web Application for High Performance? | Performance Optimization and Caching |
Links | Ensuring Code Quality |
---|---|
Article: How to write testable code Article: Refactoring towards testability | Writing Testable Code |
Article: How to create a CI/CD for a Laravel application using GitHub Actions Article: Configure Laravel 8 for CI/CD with Jenkins and GitHub — Part 1 Article: Build, Test, and Deploy Your Laravel Application With GitHub Actions | Continuous Integration and Continuous Delivery (CI/CD) |
منبع: https://laraveldaily.com/roadmap-learning-path