Tutorial · Laravel

Learn Laravel 13: a complete tutorial for beginners

9 chapters · 1 h 01 · Beginner · Filament, Laravel · verified on 7 September 2026

Quick answer

This series teaches Laravel 13 by building a complete blog: posts, categories, tags, a Filament admin panel, search and pagination. It needs PHP 8.3 as a minimum and was replayed end to end on Laravel 13.30.1 and PHP 8.4.25.

This series teaches Laravel by building a complete blog, from an empty project through to search and pagination. It is written for a beginner who knows PHP but has never used a framework.

A series that is kept up to date. It was first published in August 2021 for Laravel 8, revised for Laravel 9 in 2022, and rewritten for Laravel 13 in September 2026. Every command, file and result below comes from that last pass: you are reading the current version.

What you are going to build

A blog that stands up on its own: posts filed by category and by tag, an admin panel to write them in, a home page that lists them, a search engine, pagination and related posts. The finished project is about 25 files and fits in a SQLite database.

Every chapter starts from a precise project state and ends on something that works in the browser. The published code is the code that was run on the environment listed at the top of each chapter.

What you need to know before you start

  • PHP at the level of functions, arrays and classes. Namespaces and autoloading are explained along the way.
  • HTML and CSS, to read the templates. The rendering uses Tailwind CSS, shipped with Laravel, but no prior knowledge of it is needed.
  • A terminal. Every command in the tutorial runs there.

No knowledge of Composer, Eloquent or Blade is assumed.

Versions

Laravel 13 was released on 17 March 2026 and requires PHP 8.3 as a minimum. It accepts PHP 8.3, 8.4 and 8.5. The series was replayed on PHP 8.4.25.

Laravel 12 now gets security fixes only, until 24 February 2027. Laravel 11 has been end of life since 12 March 2026. If you are starting a project today, take Laravel 13.

The code in this series also works on Laravel 12, with one exception flagged where it appears: the Eloquent #[Fillable] attribute in chapter 6, which is specific to Laravel 13. The #[Scope] attribute has existed since Laravel 12.5.

The contents

The basics

  1. Project setup, install Laravel 13, understand the directory tree and start the server.
  2. Routing, map an address to code, name your routes, read URL parameters.
  3. The MVC structure, controllers, Blade views, template inheritance.
  4. The admin panel, installing Filament, and why it is no longer Voyager.

Database, models, routes, controllers and views

  1. Build a home page, the site layout, Vite and Tailwind.
  2. Create the models and configure the admin panel, migrations, Eloquent relations, Filament resources.
  3. Create routes, controllers and views, the category, tag and post pages.

Search and pagination

  1. Search engine, a form, a query, and what LIKE can and cannot do.
  2. Pagination and related posts, splitting the lists and linking the posts to each other.

What this series does not cover

Visitor authentication, comments, queues, sending email and deployment are left out. The admin panel guards access with a simple email address check, which is enough to learn on but not enough for a production site.

To put a Laravel project online, see the install Laravel on a Debian server guide. The other Laravel articles are gathered in the Web development hub.

Start the tutorial

Common errors

A series first written for Laravel 8 Published in August 2021 for Laravel 8 and revised for Laravel 9 in 2022, it was rewritten for Laravel 13 in September 2026. Everything below comes from that last pass.
Voyager no longer installs Earlier versions used tcg/voyager, flagged as abandoned on Packagist and incompatible with Laravel 13. Chapter 4 explains the move to Filament.
Newsletter

New tests, tutorials and projects, by e-mail.

Reproducible tests, versioned code, dated results. Never any spam.