# The Laravel Guide

> Learn Laravel: a guided path through routing, Blade templates, migrations, Eloquent, authentication, forms, and deployment with Laravel Forge.

Author: [Flavio Copes](https://flaviocopes.com/about/) | Published: 2026-07-14 | Topics: [Laravel](https://flaviocopes.com/tags/laravel/) | Canonical: https://flaviocopes.com/laravel/

Laravel is the most popular PHP framework, and one of the most productive ways to build a full web application today.

It gives you everything out of the box: routing, database access, authentication, templating, queues, CLI tooling. The conventions are strong and the documentation is excellent. You spend your time building features, not wiring infrastructure.

I wrote a series of tutorials that takes you from zero to a working, deployed Laravel application. This page organizes them into a learning path.

If you're new to PHP itself, start with [the PHP guide](https://flaviocopes.com/php/) first, then come back here.

## Where to start

Follow these in order. They build on each other:

- [Introduction to Laravel](https://flaviocopes.com/introduction-to-laravel/) covers what Laravel is and how to set up your first project
- [How to use Blade templates in Laravel](https://flaviocopes.com/how-to-use-blade-templates-in-laravel/) for rendering your pages
- [Connecting a database to Laravel](https://flaviocopes.com/connecting-a-database-to-laravel/)
- [Laravel migrations: create and modify a database schema](https://flaviocopes.com/how-to-use-migrations-to-create-and-modify-the-database-schema/)
- [Dynamic routes in Laravel](https://flaviocopes.com/dynamic-routes-in-laravel/) to handle URLs with parameters
- [Store form input in the database with Laravel](https://flaviocopes.com/using-forms-to-accept-user-input-and-store-it-into-the-database/)

At this point you have a working app that accepts user input and stores it. That's the core loop of most web applications.

## Authentication

Most real apps need users to log in. Laravel makes this surprisingly easy with Breeze:

- [Setting up authentication using Laravel Breeze](https://flaviocopes.com/setting-up-authentication-using-laravel-breeze/)
- [Only authenticated users can add items to the database](https://flaviocopes.com/only-authenticated-users-can-add-items-to-the-database/) puts it into practice

## Styling and tooling

Two posts to round out the developer experience:

- [Using Tailwind CSS with Laravel](https://flaviocopes.com/using-tailwind-css-with-laravel/) for styling your views
- [Creating CLI commands in Laravel](https://flaviocopes.com/creating-cli-commands-in-laravel/) with Artisan

## Deployment

When your app is ready, ship it:

- [Deploying a site to Laravel Forge](https://flaviocopes.com/deploying-a-site-to-laravel-forge/) covers the whole process
- [Fix Cloudflare 'too many redirects' on Laravel Forge SSL](https://flaviocopes.com/site-deployed-on-laravel-forge-and-dns-on-cloudflare-saying-too-many-redirects-after-setting-up-ssl-tls/) solves a common gotcha if you use Cloudflare in front of Forge

## Go deeper

I collected all of this in the free [Laravel Handbook](https://flaviocopes.com/ebooks/laravel-handbook/). It walks through building a complete application from scratch, and you can download it as PDF or EPUB.

All posts on this topic are in the [Laravel tag archive](https://flaviocopes.com/tags/laravel/).
