Learn Laravel 13: a complete tutorial for beginners
9 chapters · 1 h 01 · Beginner · Filament, Laravel · verified on 7 September 2026
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
- Project setup, install Laravel 13, understand the directory tree and start the server.
- Routing, map an address to code, name your routes, read URL parameters.
- The MVC structure, controllers, Blade views, template inheritance.
- The admin panel, installing Filament, and why it is no longer Voyager.
Database, models, routes, controllers and views
- Build a home page, the site layout, Vite and Tailwind.
- Create the models and configure the admin panel, migrations, Eloquent relations, Filament resources.
- Create routes, controllers and views, the category, tag and post pages.
Search and pagination
- Search engine, a form, a query, and what
LIKEcan and cannot do. - 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.