Interactive roadmap

    Laravel roadmap

    Jump into modern web development with Laravel. You will learn to build secure, fast, and scalable web applications using PHP.

    Your progress0% · 0 of 17 topics
    Done Learning Skipped OptionalClick any topic to learn more and mark your progress.
    1. 1

      PHP Foundations

      0 of 3 done

      Master the core programming concepts required to use Laravel.

      Take your time setting up your local environment, as getting this right makes writing PHP much smoother.
    2. 2

      Routing and Views

      0 of 4 done

      Handle web requests and display pages to your users.

      Keep your route files tidy by grouping related web addresses together logically.
    3. 3

      Database and ORM

      0 of 3 done

      Store and retrieve data securely using relational databases.

      Always write down your database plan before building tables to save time later.
    4. 4

      Forms and Security

      0 of 3 done

      Accept user input safely and protect user accounts.

      Never trust user input, so always validate data before saving it to your database.
    5. 5

      Advanced Features

      0 of 2 done

      Handle background tasks and test your application thoroughly.

      Offload slow tasks to background queues to keep your website feeling fast and responsive.
    6. 6

      Launch and Deployment

      0 of 2 done

      Publish your Laravel application to a live web server.

      Always test your deployment process in a staging environment before pushing changes live.

    Learn it all, with a tutor that never sleeps

    Every topic links to LevelUp lessons, practice exercises and the 24/7 AI Tutor. Your progress updates as you master lessons.

    Every topic explained

    Step 1: PHP Foundations

    Learn how to write basic PHP code and set up your local development environment.
    Read more

    Syntax is simply the grammar rules of a programming language, telling the computer how to read your instructions. Setting up your environment involves installing a local server tool like Laragon or Herd so your computer can run PHP files just like a live website.

    Think of this like learning the alphabet before writing a letter, where your local server acts as the desk where you do your writing. You need these foundational pieces in place before you can build any web application.

    Getting comfortable with basic syntax and local tools sets the stage for learning the Laravel framework later on.

    • PHP code sits inside specific opening and closing tags
    • Every statement usually ends with a semicolon
    • A local server is required to run PHP files
    PHP Documentation
    Understand how to store data in collections and write reusable blocks of code.
    Read more

    Arrays let you store multiple pieces of data under a single variable name, like a shopping list of item names. Functions are reusable blocks of code designed to perform a specific task, helping you avoid repeating yourself.

    Imagine running a cafe where an array holds your daily menu items, and a function calculates the total bill for a customer. Instead of rewriting the math every time, you just call the function whenever someone orders.

    Mastering these concepts helps you write clean, efficient code that is much easier to read and maintain as your project grows.

    • Indexed arrays use numbers to order items
    • Associative arrays use named keys for values
    • Functions accept inputs and return calculated outputs
    Discover classes and objects, which form the building blocks of the Laravel framework.
    Read more

    Object-oriented programming lets you bundle data and related actions into blueprints called classes, from which you create individual objects. This approach mirrors real-world items by giving them specific properties and behaviours.

    Think of a class as a blueprint for a car, defining that every car has a colour and can drive. An object is the actual red car parked outside that you can drive around.

    Since Laravel is built entirely around object-oriented principles, understanding classes and objects is essential for working with the framework effectively.

    • Classes act as templates for creating objects
    • Properties store the data belonging to an object
    • Methods define the actions an object can perform

    Step 2: Routing and Views

    Map web addresses in your application to specific closures or controller actions.
    Read more

    Routing is the system that matches incoming web browser requests to the correct part of your application. When someone visits your website address, the router decides which code should run in response.

    Think of a receptionist in an office building who listens to your request and directs you to the correct room. Without this guidance, visitors would not know where to go.

    Routes form the front door of your Laravel application, connecting users to the pages and features they want to see.

    • Routes map URLs to closures or controllers
    • GET requests retrieve pages or data
    • POST requests handle submitted form data
    Laravel Documentation
    Organise your application logic away from route files for cleaner code management.
    Read more

    Controllers are PHP classes that handle the heavy lifting for your web requests, separating business logic from your route definitions. Instead of writing all your code inside the route file, you delegate tasks to a controller.

    Imagine a restaurant manager who takes orders from the front desk and coordinates the kitchen staff. The manager keeps things organised so the front desk stays uncluttered.

    Using controllers keeps your application modular, making it easier to test, update, and collaborate on with other developers.

    • Controllers group related request handling logic
    • They sit between your routes and your data
    • They keep route definition files clean and readable
    Build dynamic HTML layouts easily using Laravel built-in templating engine.
    Read more

    Blade is Laravel built-in templating engine that lets you write clean HTML mixed with convenient PHP shortcuts. It allows you to create reusable layouts so you do not have to repeat navigation bars on every page.

    Think of it like a modular furniture set where the frame stays the same, but you swap out the cushions for different rooms. You define a master layout once and inject page-specific content into it.

    Blade makes building user interfaces fast and consistent across your entire web application.

    • Blade files use the php blade extension
    • Layout inheritance avoids duplicate HTML code
    • Directive tags make loops and conditions simple
    (optional)
    Manage your CSS and JavaScript files using Vite in your Laravel project.
    Read more

    Asset bundling involves taking your custom CSS stylesheets and JavaScript files and compiling them into optimised packages for the browser. Modern tools like Vite make this process lightning fast during development.

    Think of it like packing a suitcase efficiently, folding many separate clothes into a neat, compact bundle ready for travel. Your browser downloads fewer files, making your site load much faster.

    Proper asset management ensures your web application looks polished and responds instantly to user interactions.

    • Vite provides instant hot module replacement
    • Source assets are compiled into production files
    • Laravel includes helper functions to load bundled assets

    Step 3: Database and ORM

    Control your database structure using version-controlled PHP files instead of manual SQL.
    Read more

    Migrations are version control for your database, allowing you to write PHP code to create and modify tables. Instead of clicking around in a database tool, you write scripts that recreate your database structure anywhere.

    Think of it like architectural blueprints for a house build, ensuring every worker builds the rooms in the correct order. If a wall needs moving, you update the plan.

    Migrations make it simple to share database changes with your team and deploy updates safely.

    • Migrations track database structure changes over time
    • Up methods add tables or columns
    • Down methods rollback those exact changes
    Interact with your database tables as if they were simple PHP objects.
    Read more

    Eloquent is Laravel Object Relational Mapper, which lets you interact with your database tables using clean PHP syntax instead of complex SQL queries. Each database table has a corresponding model class.

    Imagine having a smart assistant who fetches file folders for you whenever you ask by name, rather than you searching through a massive filing cabinet yourself.

    Eloquent saves you time and lets you write readable code to fetch, update, and delete database records effortlessly.

    • Models represent database tables as PHP classes
    • Instance methods allow easy saving and updating
    • Static methods let you query records quickly
    Connect different data tables together, such as linking a user to their posts.
    Read more

    Database relationships connect different tables together, allowing you to associate related pieces of information like a user and their blog posts. Eloquent makes defining these links intuitive.

    Think of a music playlist linking to multiple individual songs, where the playlist knows exactly which tracks belong to it. You do not duplicate data; you simply connect them.

    Understanding relationships is crucial for building dynamic applications where users interact with various types of content.

    • One to many links a single parent to multiple children
    • Foreign keys store the parent record identifier
    • Eloquent methods make querying related data effortless

    Step 4: Forms and Security

    Receive, validate, and save input submitted by users through web forms.
    Read more

    Handling forms involves capturing user submissions, checking the data for accuracy, and saving it safely. Laravel provides built-in validation rules and protection against security threats like cross-site request forgery.

    Think of a security guard at an event entrance checking tickets and ID cards before letting people through the gates. Invalid entries are turned away immediately.

    Good form handling keeps your database clean and protects your application from malicious inputs.

    • Validation rules ensure data meets required formats
    • Error messages guide users to fix mistakes
    • CSRF protection secures form submissions against attacks
    Add secure login, registration, and password reset features to your app.
    Read more

    User authentication is the process of verifying who a user is, allowing them to register, log in, and securely access restricted areas. Laravel offers starter kits that set this up in minutes.

    Think of a hotel room key card system that unlocks only your assigned room after verifying your identity at the front desk.

    Authentication protects user privacy and ensures personalized features work correctly for the right person.

    • Starter kits provide prebuilt login and registration screens
    • Passwords are securely hashed before storage
    • Middleware protects routes from unauthenticated guests
    (optional)
    Restrict what actions specific users are allowed to perform in your app.
    Read more

    Authorization decides whether a logged-in user has permission to perform a specific action, such as editing a post they did not write. Policies organise these permission rules neatly.

    Think of a cinema employee checking your ticket to ensure you enter the correct screening room, or stopping you from entering restricted backstage areas.

    Authorization keeps your application secure by making sure users can only modify data they own or have rights to.

    • Policies group authorisation logic for specific models
    • Methods return true or false based on user roles
    • Controllers and views can check permissions easily

    Step 5: Advanced Features

    Delay time-consuming tasks like sending emails so your pages load instantly.
    Read more

    Queues allow you to defer time-consuming tasks, like sending welcome emails or processing uploaded images, to run in the background. This stops your web pages from freezing while waiting for external services.

    Think of ordering fast food at a counter where you receive a receipt number and step aside, while the kitchen prepares your meal behind the scenes.

    Queues improve user experience by making page loads instant even when heavy work is happening in the background.

    • Time-consuming tasks run outside the main request cycle
    • Jobs are stored in a queue database or redis
    • A background worker processes jobs sequentially
    Write code to check that your application features work correctly without manual clicking.
    Read more

    Automated testing involves writing code that simulates user actions and checks that your features work correctly. Instead of clicking around manually after every change, your test suite does it in seconds.

    Think of an automated factory quality check machine that tests every product rolling off the line before it ships to customers.

    Tests give you the confidence to add new features or update old code without fear of breaking your live application.

    • Feature tests check entire user journeys through the app
    • Unit tests check small isolated pieces of logic
    • Tests run quickly in your terminal

    Step 6: Launch and Deployment

    Configure environment variables securely for production use.
    Read more

    The server environment includes configuration settings and secret variables that change depending on where your code runs. Sensitive details like database passwords are kept safe in environment files rather than hardcoded.

    Think of setting the thermostat in a house differently depending on the season, adjusting the climate without rebuilding the walls.

    Proper environment configuration keeps your application secure and adaptable across local, testing, and live servers.

    • Environment variables store server-specific settings
    • Secret keys must never be committed to source control
    • Debug mode should always be turned off in production
    Push your code updates to a live hosting provider smoothly.
    Read more

    Deployment strategies define how you transfer your updated code from your development computer to a live hosting server safely. A good process ensures zero downtime for your users.

    Think of a newspaper printing press swapping out the daily edition plates cleanly without stopping the entire printing operation.

    Reliable deployment practices ensure your latest features reach your users without interrupting their experience.

    • Version control systems manage code transfer
    • Dependencies are installed fresh on the target server
    • Database migrations run automatically during updates

    Related roadmaps