Laravel Roadmap

This Laravel Roadmap is a free, full-text syllabus of 104 lessons in 44 stages, starting with Installing Laravel and ending with Package Management. It suits anyone who wants to learn Laravel, whether new to it or filling gaps. There is no fixed length: every lesson is open from the start, so you go at your own pace and skip what you already know.

Last updated

Getting Started0%
Halfway
Almost There
Complete

Reading is open to everyone. Sign in to join this roadmap and track what you finish.

Continue learning

1. Installing LaravelInstalling Laravel

0%

Installing Laravel

2 topics · 1 sub-topics · 0 completed

0%

Full syllabus: every lesson in the Laravel roadmap

44 stages and 104 lessons, in the order the roadmap suggests. Every lesson is free to read and open from the start.

  1. Stage 1: Installing Laravel

    • Installing Laravel

      Installing Laravel involves setting up a new project environment where you can begin building your web application. This process typically includes downloading the Laravel framework, configuring your server environment to meet its requirements, and setting up any necessary dependencies. The installation process…

    • Laravel Herd

      Laravel Herd is a fast, native Laravel and PHP development environment for macOS. It eliminates the need for Docker or virtual machines, offering a streamlined experience for setting up and running Laravel projects. It includes everything you need to get started, such as PHP, Nginx, and DNSmasq, all pre-configured…

  2. Stage 2: What is Laravel?

    • What is Laravel?

      Laravel is a PHP web application framework that provides tools and structure for building web applications using the Model-View-Controller (MVC) architectural pattern. It aims to simplify common tasks used in web development, such as routing, templating, authentication, and database interactions, by providing a…

    • Why Web Frameworks?

      Web frameworks provide a structured way to develop web applications by offering pre-built components, tools, and conventions. They streamline common tasks like routing, templating, database interaction, and security, allowing developers to focus on the unique features of their application rather than reinventing…

    • Laravel for Full Stack

      Full-stack development involves building both the front-end (what users see and interact with) and the back-end (the server-side logic, database interactions, and APIs) of a web application. Laravel, primarily a back-end framework, can be effectively used in full-stack development by pairing it with front-end…

    • Laravel for Frontend

      Laravel, primarily known as a backend framework, can also be effectively utilized for building the frontend of web applications. While Laravel excels at handling server-side logic, routing, database interactions, and APIs, it offers features like Blade templating engine and asset management tools that allow…

  3. Stage 3: Create a new project

    • Create a new project

      To start a new Laravel project, you'll typically use Composer, a dependency management tool for PHP. Open your terminal or command prompt, navigate to the directory where you want to create your project, and then run the command composer create-project laravel/laravel your-project-name. Replace your-project-name…

  4. Stage 4: Starter Kits

    • Starter Kits

      Starter kits provide a pre-built scaffolding for new Laravel applications, offering a foundation with common features like authentication, user interface components, and basic styling already configured. This allows developers to quickly begin building application-specific functionality without having to set up…

  5. Stage 5: Request–Response Flow

    • Request–Response Flow

      In Laravel, the request-response flow begins when a user sends a request to the application. This request first hits the public/index.php file, which bootstraps the Laravel framework. The request is then passed to the HTTP kernel, which identifies the appropriate route based on the request URI. The route then calls…

    • Inertia

      Inertia.js allows you to build single-page applications (SPAs) using server-side routing and controllers. Instead of building an API and a separate frontend, Inertia lets you use your existing server-side framework (like Laravel) for both. It achieves this by rendering server-side views and then using JavaScript to…

    • Livewire

      Livewire starter kits in Laravel provide a pre-configured foundation for building dynamic, reactive user interfaces using Livewire components. These kits typically include basic layouts, authentication scaffolding, and often pre-built components that demonstrate Livewire's capabilities, allowing developers to…

    • Breeze

      Breeze is a minimal, simple implementation of all of Laravel's authentication features, including login, registration, password reset, email verification, and password confirmation. It provides a basic starting point for building a new Laravel application with authentication already configured, allowing developers…

    • Jetstream

      Jetstream is a scaffolding package for Laravel applications. It provides a robust starting point for your next Laravel project, featuring key functionalities such as user registration, login, email verification, two-factor authentication, session management, API support via Laravel Sanctum, and team management.…

  6. Stage 6: Basic Routes

    • Basic Routes

      Routing in Laravel determines how your application responds to client requests. It essentially maps URLs (like /about or /contact) to specific functions or controllers within your application. When a user visits a particular URL, Laravel's router identifies the corresponding route and executes the associated code,…

    • App

      The app directory in a Laravel project houses the core logic of your application. It contains the code that defines your application's behavior, including models, controllers, middleware, services, and other custom classes. This directory is structured to promote organization and maintainability, making it easier…

    • Bootstrap

      Bootstrap in a Laravel project is the initial point where the framework starts its execution process. It involves setting up the environment, loading configurations, registering service providers, and handling exceptions. This process ensures that all the necessary components and dependencies are available and…

    • Config

      Configuration files in Laravel allow you to manage settings for your application in a centralized and organized manner. These files store key-value pairs that define various aspects of your application's behavior, such as database connections, mail settings, and application-specific parameters. By using…

    • Database

      The database directory in a Laravel project houses all files related to your application's database interactions. This includes migrations, which define the structure of your database tables; seeders, which populate your database with initial data; factories, which generate fake data for testing; and any custom…

    • Public

      The public directory serves as the document root for your Laravel application. It's the only directory that should be directly accessible from the web. This directory contains the index.php file, which is the entry point for all HTTP requests entering your application, as well as assets like images, CSS, and…

    • Resources

      The resources directory in a Laravel project is where you store your application's raw, uncompiled assets. This includes things like your views (HTML templates), language files, CSS, JavaScript, and images. These assets are often processed by tools like Webpack or Vite before being served to the user.

    • Routes

      The routes directory in Laravel houses all the route definitions for your application. These files tell Laravel how to respond to different HTTP requests (like GET, POST, PUT, DELETE) for specific URLs. Each file typically defines a set of routes, mapping a URL to a specific controller action or closure that will…

    • Storage

      The storage directory in Laravel is where the framework stores files generated during the application's runtime. This includes compiled Blade templates, file-based sessions, cache files, and logs. It's structured into app, framework, and logs subdirectories to organize these different types of data. The app…

    • Tests

      The tests directory in Laravel projects houses all the automated tests for your application. These tests are designed to verify that your code functions as expected, covering various aspects like models, controllers, routes, and features. It typically includes subdirectories like Feature for high-level feature…

    • Vendor

      The vendor directory in a Laravel project houses all the Composer-installed dependencies. These dependencies are third-party packages and libraries that your project relies on for various functionalities, such as database interactions, authentication, or templating. It's essentially a collection of code that you…

  7. Stage 7: View Routes

    • View Routes

      View routes provide a simple way to return a view directly from a route without needing a full controller. Instead of defining a controller method to load and return a view, you can use the Route::view method. This is particularly useful for simple routes that only need to display static content or a basic view…

  8. Stage 8: Redirect Routes

    • Redirect Routes

      Redirect routes provide a simple way to create HTTP redirects within your application. Instead of defining a full route with a controller action, you can directly instruct the application to redirect the user to another URL or route. This is useful for creating permanent or temporary redirects, handling old URLs,…

  9. Stage 9: Route parameters

    • Route parameters

      Route parameters allow you to capture segments of the URI within your route definitions. These captured segments can then be passed as arguments to your route's controller or closure, enabling you to create dynamic routes that respond to different data. You define parameters by enclosing them in curly braces, such…

  10. Stage 10: Named routes

    • Named routes

      Named routes provide a convenient way to refer to routes throughout your application. Instead of hardcoding route URIs, you can assign a name to a route and then use that name to generate URLs or redirects. This makes your code more maintainable because if the route URI changes, you only need to update it in one…

    • Route model binding

      Route model binding is a way to automatically inject model instances into your route handlers based on the route parameters. Instead of manually querying the database for a model within your controller method using the ID passed in the route, Laravel can automatically resolve the model instance for you, making your…

    • Rate limiting

      Rate limiting is a technique used to control the number of requests a user or client can make to a server within a specific time period. This helps to prevent abuse, protect resources, and maintain the stability and performance of an application by preventing it from being overwhelmed by excessive requests. It…

    • CORS

      Cross-Origin Resource Sharing (CORS) is a browser security feature that restricts web pages from making requests to a different domain than the one that served the web page. This policy prevents malicious websites from accessing sensitive data from other sites. CORS defines a way for servers to specify which…

    • Caching

      Route caching in Laravel involves storing the compiled routes in a cache file to significantly reduce the time it takes to register all of your application's routes on each request. Instead of re-parsing route definitions every time, Laravel can quickly load the routes from the cached file, leading to improved…

  11. Stage 11: Basic controllers

    • Basic controllers

      Controllers are fundamental building blocks in web applications that handle incoming requests and orchestrate the application's response. They act as intermediaries between the user interface (or API endpoint) and the application's data and logic. A controller receives a request, processes it by interacting with…

  12. Stage 12: Route groups

    • Route groups

      Route groups provide a way to share route attributes, such as middleware, namespaces, prefixes, and subdomain restrictions, across a large number of routes without needing to define them individually for each route. This allows for cleaner and more organized route definitions, reducing redundancy and improving…

  13. Stage 13: Resource controllers

    • Resource controllers

      Resource controllers provide a standardized way to manage CRUD (Create, Read, Update, Delete) operations for a specific model. They group related request handling logic into a single class, making your code more organized and easier to maintain by mapping conventional HTTP verbs (like GET, POST, PUT, DELETE) to…

  14. Stage 14: Single-action controllers

    • Single-action controllers

      Single-action controllers are controllers that contain only one method, typically named invoke. This approach simplifies controller logic when a controller is responsible for performing a single, specific task. Instead of defining multiple methods for different actions, you define a single method that handles the…

  15. Stage 15: Dependency injection

    • Dependency injection

      Dependency Injection is a design pattern where a component receives its dependencies from external sources rather than creating them itself. This promotes loose coupling, making code more modular, testable, and reusable. Instead of a class being responsible for instantiating its dependencies, those dependencies are…

  16. Stage 16: Middleware

    • Middleware

      Middleware provides a convenient mechanism for filtering HTTP requests entering your application. Think of it as a series of checkpoints that a request must pass through before reaching your application's core logic. These checkpoints can perform various tasks, such as authenticating users, verifying input data, or…

    • Global vs Route

      Global middleware runs on every HTTP request entering your application. Route middleware, on the other hand, is only applied to specific routes or groups of routes that you define. This allows for more granular control over which middleware is executed for different parts of your application.

  17. Stage 17: Blade Templating

    • Blade Templating

      Blade is a simple yet powerful templating engine provided with Laravel. It allows you to use plain PHP in your views, but also offers convenient shortcuts and directives for common tasks like displaying data, looping through arrays, and conditional statements. Blade templates are compiled into plain PHP code and…

  18. Stage 18: Displaying data

    • Displaying data

      Displaying data in Laravel views involves passing information from your application's logic (controllers) to the view templates, which are then rendered into HTML and presented to the user. This process allows you to dynamically generate web pages with content that changes based on user input, database records, or…

    • CRUD Operations

      CRUD operations stand for Create, Read, Update, and Delete. These are the four basic functions of persistent storage, and they represent the fundamental operations performed on data within a database. In the context of Eloquent ORM, CRUD operations are simplified through intuitive methods that allow developers to…

    • Relationships

      Eloquent relationships define how different database tables are connected. They allow you to easily retrieve related data from multiple tables using intuitive methods. For example, a user might have many posts, or a post might belong to a single category. Eloquent supports various relationship types like…

    • Casts, Accessors

      Eloquent models in Laravel provide a way to interact with your database tables in an object-oriented manner. Casts allow you to modify the data type of an attribute when it's retrieved from or stored in the database. Accessors, on the other hand, let you format or modify attribute values when you access them,…

    • Query scopes

      Query scopes in Eloquent provide a way to add constraints to all queries of a given model. They allow you to define common sets of query conditions as reusable methods within your Eloquent models. This promotes cleaner, more maintainable code by encapsulating query logic and preventing duplication across your…

  19. Stage 19: Blade Directives

    • Blade Directives

      Blade directives are shortcuts to common PHP control structures, like if statements and loops, within Laravel's Blade templating engine. They provide a cleaner and more readable syntax for embedding PHP logic directly into your HTML views. Instead of writing verbose PHP code, you can use directives like @if,…

    • if, else

      Conditional statements, like if and else, allow you to control the rendering of content in your Blade templates based on certain conditions. This means you can display different parts of your view depending on whether a variable is true, a user is logged in, or any other logical expression you define. These…

    • loops

      Blade directives offer a concise way to work with loops directly within your Laravel views. Instead of using standard PHP loop syntax, Blade provides directives like @for, @foreach, @while, and @forelse to iterate over data and display it in your templates. These directives simplify the process of rendering dynamic…

  20. Stage 20: Components

    • Components

      Components are reusable pieces of code that encapsulate HTML, CSS, and logic to create modular and maintainable user interface elements. They allow developers to define custom HTML tags that can be used throughout their application's views, promoting code reuse and consistency. This approach simplifies the process…

  21. Stage 21: Eloquent ORM

    • Eloquent ORM

      Eloquent is an Object-Relational Mapper (ORM) that provides a simple and enjoyable way to interact with your database. It allows you to define models that represent database tables, and then use those models to query, insert, update, and delete data without writing raw SQL queries. Eloquent uses an Active Record…

  22. Stage 22: Layouts

    • Layouts

      Layouts provide a consistent structure for your application's pages. They define the common elements like headers, footers, sidebars, and overall page structure, allowing you to avoid repeating the same HTML code across multiple views. By using layouts, you can create a template that child views can then extend and…

  23. Stage 23: Configuration

    • Configuration

      Laravel simplifies database interaction by allowing you to configure database connections within the .env file and the config/database.php file. The .env file stores sensitive information like database credentials, while config/database.php defines the available database connections and their default settings. You…

  24. Stage 24: Blade + Livewire

    • Blade + Livewire

      Blade is Laravel's templating engine, allowing developers to use simple syntax to create dynamic web pages. Livewire is a full-stack framework for Laravel that enables you to build dynamic interfaces using Laravel and PHP, without writing JavaScript. Combining Blade and Livewire allows you to create interactive and…

  25. Stage 25: Query Builder

    • Query Builder

      The Query Builder provides a convenient, fluent interface for creating and running database queries. It allows you to interact with your database without writing raw SQL, offering a more readable and maintainable way to perform common database operations like selecting, inserting, updating, and deleting data. It…

  26. Stage 26: Migrations, seeders

    • Migrations, seeders

      Database migrations are like version control for your database schema, allowing you to modify and share the database structure in a structured and organized way. Seeders, on the other hand, are used to populate your database with initial data, such as default user accounts or categories, making it easier to start…

  27. Stage 27: Pagination

    • Pagination

      Pagination is the process of dividing content into discrete pages, allowing users to navigate through large datasets in a manageable way. Instead of displaying all the data at once, which can be overwhelming and slow down performance, pagination presents the data in smaller, more digestible chunks, typically with…

  28. Stage 28: Retrieving data & files

    • Retrieving data & files

      When a user interacts with a web application, they often send data to the server through forms or file uploads. Retrieving data involves accessing and using the information submitted by the user, such as form inputs or query parameters. Similarly, retrieving files involves accessing and processing files that users…

  29. Stage 29: Creating Responses

    • Creating Responses

      Creating responses in web applications involves generating and sending data back to the client in response to a request. This data can be in various formats, such as HTML, JSON, or XML, and often includes information requested by the client or the result of an action performed on the server. The response also…

    • Files

      File responses in Laravel provide a way to send files, such as images, PDFs, or documents, directly to the user's browser for download or display. This functionality allows you to serve files stored on your server's filesystem to users, enabling features like downloading reports, displaying images, or providing…

    • Views

      Laravel, beyond processing data and logic, can also present information to the user. One common way to do this is by sending a "view" as a response. A view is essentially an HTML template file that Laravel renders, often populated with data you pass to it from your application's logic. This allows you to…

    • JSON

      JSON (JavaScript Object Notation) is a lightweight data-interchange format that is easy for humans to read and write, and easy for machines to parse and generate. In Laravel, you can easily return JSON responses from your routes or controllers, allowing you to build APIs or provide data to JavaScript-based…

    • Redirects

      Redirects are a way to send a user from one URL to another. They are commonly used after a form submission to prevent resubmitting data, or to guide users to a different part of a website after an action has been completed. A redirect response contains an HTTP status code in the 300 range, indicating that the…

    • Streamed Responses

      Streamed responses allow you to send large files or data streams to the user's browser in chunks, rather than loading the entire content into memory at once. This is particularly useful for handling large downloads, video streaming, or any situation where you need to send data incrementally to avoid memory…

  30. Stage 30: Authorization

    • Authorization

      Authorization is the process of determining whether a user has permission to access a specific resource or perform a particular action. It verifies if an authenticated user is allowed to do what they are attempting to do within an application. This involves checking the user's roles, permissions, and policies…

    • Gates

      Authorization gates provide a way to control access to specific resources or actions within your application. They are essentially closures that determine if a user is authorized to perform a given action. You define these gates with a name and a callback function that receives the authenticated user as an…

    • Policies

      Authorization Policies provide a structured way to define authorization logic for your application. They allow you to encapsulate the rules that determine whether a user is authorized to perform a specific action on a given resource. Instead of scattering authorization checks throughout your controllers and views,…

  31. Stage 31: Authentication

    • Authentication

      Authentication is the process of verifying the identity of a user. It involves confirming that a user is who they claim to be, typically by checking their credentials (like a username and password) against stored records. Laravel provides built-in tools and features to simplify this process, making it easier to…

    • With Starter Kits

      Authentication is the process of verifying a user's identity. Laravel starter kits provide pre-built scaffolding for authentication features like registration, login, password reset, and email verification. These kits offer a quick and convenient way to implement authentication in your Laravel application, saving…

    • Manual Authentication

      Manual authentication involves directly handling user login and logout processes within your application, giving you complete control over how users are identified and authorized. This approach requires you to manage user credentials, session management, and security measures yourself, rather than relying on…

    • Sanctum

      Sanctum is a lightweight authentication system primarily designed for single-page applications (SPAs), mobile applications, and simple APIs. It provides a straightforward method for authenticating users using API tokens, allowing them to access protected routes and resources. Sanctum focuses on issuing API tokens…

    • Passport

      Passport is a full OAuth 2.0 server implementation for your Laravel application, providing a secure and standardized way to authenticate users and grant access to your API. It allows users to authorize third-party applications to access their data without sharing their credentials, using tokens to represent…

  32. Stage 32: Encryption & Hashing

    • Encryption & Hashing

      Encryption and hashing are fundamental security techniques used to protect sensitive data. Encryption transforms data into an unreadable format using an algorithm and a key, making it unintelligible to unauthorized parties; decryption reverses this process to restore the original data. Hashing, on the other hand,…

    • Forms

      Form validation is the process of ensuring that user-submitted data in a form meets specific criteria before it's processed or stored. This involves checking for required fields, verifying data types (like email or number), and ensuring data conforms to specific formats or constraints. Effective validation helps…

    • Manual validation

      Manual validation in Laravel involves directly interacting with the validator class to validate data. Instead of relying on request objects or form requests, you create a validator instance, define the validation rules, and then check if the data passes these rules. This approach provides more control and…

    • Error messages

      Error messages in validation are the feedback provided to users when the data they submit doesn't meet the defined validation rules. These messages inform users about the specific issues with their input, guiding them to correct the errors and successfully submit the form or data. They are crucial for a good user…

  33. Stage 33: Logging Basics

    • Logging Basics

      Logging is the process of recording events that occur during the execution of a software application. These events, often called logs, provide valuable insights into the application's behavior, helping developers track errors, monitor performance, and understand user activity. Logs typically include timestamps,…

    • Telescope

      Telescope is an elegant debug assistant for the Laravel framework. It provides insights into the requests coming into your application, exceptions, log entries, database queries, queued jobs, mail, notifications, cache operations, scheduled tasks, variable dumps, and more. It essentially acts as a powerful…

    • Debugbar

      Debugbar is a package that provides a convenient toolbar displayed in the browser, offering insights into your application's performance and debugging information. It allows you to inspect things like queries executed, views rendered, routes matched, and other useful data without having to dig through log files or…

    • Handling Exceptions

      Exceptions are unexpected events that disrupt the normal flow of a program's execution. Handling exceptions involves anticipating these potential problems, catching them when they occur, and then gracefully responding to them, preventing the application from crashing and providing informative feedback to the user…

    • Message Customization

      Error message customization involves tailoring the default error messages displayed to users when validation or other exceptions occur. This allows developers to provide more user-friendly and contextually relevant feedback, improving the overall user experience by guiding them towards correcting errors more…

    • HTTP Exceptions

      HTTP Exceptions are a specific type of exception used to represent HTTP error responses. They allow you to easily return standard HTTP error codes (like 404 Not Found or 500 Internal Server Error) along with a corresponding message and optional headers directly from your application logic. This provides a clean and…

  34. Stage 34: Log Stacks & Messages

    • Log Stacks & Messages

      Log stacks allow you to send log messages to multiple handlers simultaneously. This provides flexibility in how you manage and store your application's logs, enabling you to route different types of messages to different destinations, such as files, databases, or external services. You can also customize the format…

  35. Stage 35: Debugging basics

    • Debugging basics

      Debugging is the process of identifying and removing errors or defects from software code. It involves systematically testing the code, locating the source of problems, and then correcting them to ensure the software functions as intended. Effective debugging is crucial for producing reliable and maintainable…

  36. Stage 36: Unit & Feature tests

    • Unit & Feature tests

      Unit and feature tests are automated ways to verify that your code works as expected. Unit tests focus on testing individual components or functions in isolation, ensuring each part performs its specific task correctly. Feature tests, on the other hand, test larger parts of your application, simulating user…

    • Pest

      Pest is an elegant PHP testing framework with a focus on simplicity and developer experience. It provides a clean and expressive syntax for writing tests, aiming to make testing more enjoyable and efficient. Pest builds on top of PHPUnit, leveraging its powerful features while offering a more streamlined and…

    • PHPUnit

      PHPUnit is a popular testing framework for PHP that allows developers to write and run automated tests for their code. It provides a structured way to define test cases, assertions, and test suites, ensuring that code behaves as expected. In Laravel, PHPUnit is the default testing framework, offering a robust…

  37. Stage 37: Queues & Jobs

    • Queues & Jobs

      Queues and jobs provide a mechanism to defer the processing of time-consuming tasks, such as sending emails, processing large datasets, or performing complex calculations, to a later time. Instead of executing these tasks immediately within a web request, they are pushed onto a queue. A worker process then…

  38. Stage 38: Events & Listeners

    • Events & Listeners

      Events and listeners provide a simple observer pattern implementation, allowing you to subscribe to and react to events that occur in your application. An event signifies that something has happened, while listeners are classes that execute specific actions in response to those events. This decoupling of event…

  39. Stage 39: Notifications

    • Notifications

      Notifications provide a way to alert users about events that occur in your application, such as when a task is completed, a comment is posted, or a new follower is gained. These alerts can be delivered through various channels, including email, SMS, database entries, or even custom channels, allowing for flexible…

    • Artisan

      Artisan is the command-line interface (CLI) included with Laravel. It provides a number of helpful commands that can assist you while building your application. These commands can automate repetitive tasks, generate boilerplate code, interact with your database, and perform other useful functions, ultimately…

    • Sail

      Sail is a light-weight command-line interface (CLI) for interacting with Laravel's default Docker development environment. It provides a simple way to manage and run your Laravel application using Docker, without requiring prior Docker experience. It offers commands to start, stop, and manage your application's…

  40. Stage 40: Task Schedulling

    • Task Schedulling

      Task scheduling involves automating the execution of specific commands or tasks at predefined intervals. This allows developers to automate repetitive processes, such as sending emails, cleaning up data, or generating reports, without manual intervention. By defining a schedule, these tasks can run in the…

    • Configuration

      Deployment configuration involves setting up the necessary environment variables and settings for your Laravel application to run correctly in a production environment. This includes configuring database connections, cache settings, session drivers, and other environment-specific parameters to ensure optimal…

    • Optimization

      Optimization, in the context of deployment, refers to the process of refining and improving a deployed application's performance, efficiency, and resource utilization. This involves identifying bottlenecks, reducing resource consumption (like memory and CPU), and enhancing the overall speed and responsiveness of…

    • Health Route

      A health route is a specific endpoint in an application that provides information about its operational status. It's designed to be easily accessible and quickly indicate whether the application is running correctly and its dependencies are healthy. This allows monitoring systems and load balancers to automatically…

  41. Stage 41: File Storage

    • File Storage

      File storage provides a convenient way to store and retrieve files, whether they are stored locally on the server or in cloud storage services like Amazon S3 or Google Cloud Storage. It offers a unified API for working with different storage systems, allowing you to easily switch between them without modifying your…

    • Pint

      Pint is an opinionated PHP code style fixer. It automatically corrects coding style issues in your PHP code, ensuring consistency and adherence to defined coding standards. It simplifies the process of maintaining a clean and uniform codebase by automatically applying formatting rules.

  42. Stage 42: Localization

    • Localization

      Localization is the process of adapting a product or content to a specific target market. This involves translating text, but also adapting other elements like date formats, currency symbols, and cultural references to suit the local audience. The goal is to make the product feel native and relevant to users in…

    • Octane

      Octane supercharges your Laravel application's performance by serving it using high-powered application servers like Swoole or RoadRunner. Instead of creating a fresh application instance for each request, Octane keeps the application loaded in memory, significantly reducing boot times and overhead. This allows…

  43. Stage 43: Facades

    • Facades

      Facades provide a "static" interface to classes that are available in the application's service container. Laravel facades allow you to access the underlying object instance of a class registered in the service container as if you were calling static methods on it. This provides a more expressive and readable…

    • Laravel Cloud

      Laravel Cloud provides a streamlined platform for deploying and managing Laravel applications. It simplifies the process of setting up servers, configuring databases, and handling deployments, allowing developers to focus on building features rather than managing infrastructure. This typically involves automated…

    • Laravel Forge

      Laravel Forge is a web-based platform designed to simplify the deployment and management of PHP applications, particularly those built with Laravel. It automates server provisioning, configuration, and deployment processes, allowing developers to focus on writing code rather than managing infrastructure. Forge…

  44. Stage 44: Package Management

    • Package Management

      Package management involves using tools to automate the process of installing, updating, configuring, and removing software packages. In Laravel, this is primarily handled by Composer, a dependency manager for PHP. Composer allows you to declare the libraries your project depends on, and it will manage the…

    • Pulse

      Pulse is a real-time monitoring tool designed to provide insights into your application's performance and health. It collects and displays key metrics like slow queries, cache interactions, queue jobs, and server resource usage, allowing developers to quickly identify and address potential bottlenecks or issues.…

Questions about the Laravel Roadmap

Is the Laravel Roadmap free?

Yes. All 104 lessons in this roadmap are free to read on Bibha AI Learning Labs, with no account and no payment. Signing in is optional: it lets you mark lessons as done and keep your progress, and it opens the AI tutor, which runs on your own API key.

How long does the Laravel Roadmap take?

There is no fixed duration. It has 104 lessons in 44 stages, and the time it takes depends on how many hours you give it each week. Nothing is locked, so you can skip what you already know, and your progress is saved once you sign in.

Where should I start the Laravel Roadmap?

Start with stage 1, Installing Laravel, and work down in order. The stages are numbered in the order the roadmap suggests, but every lesson is open, so if you already know Installing Laravel you can go straight to What is Laravel? or anything after it. Each lesson links to free resources for going deeper.

Can I learn Laravel in Hindi?

The lessons are written in English. Once you sign in, you can ask the AI tutor on any lesson to explain it in Hindi or Hinglish. It answers from that lesson’s own text, so the explanation stays on the syllabus. The tutor runs on your own Google, OpenAI or Anthropic key.

Still confused? Ask me