Home
Laravel is a PHP framework for building web applications with clean, readable code. It gives a small team the structure of a large project: routing, database access, authentication, validation, queues, email, and testing all share the same conventions. This course walks through the framework topic by topic, from the first installation to the release process used by the maintainers.
Who this course is for
The material assumes you already write basic PHP and understand HTML forms. No previous framework experience is required. If you have used another MVC framework, the ideas will feel familiar; the chapters on Eloquent, Blade, facades, and the service container explain what makes Laravel different.
What you will learn
- Installing Laravel and understanding the directory layout.
- Routing requests and protecting them with middleware.
- Controllers, requests, responses, cookies, sessions, and redirects.
- Blade templates, layouts, components, and reusable view fragments.
- Database access with the query builder and Eloquent models.
- Validation, file uploads, email, localization, and AJAX responses.
- Events, facades, contracts, the service container, and CSRF protection.
- Authentication, authorization, gates, and policies.
- Artisan commands, encryption, hashing, pagination, and debugging helpers.
How the topics are arranged
The outline follows the order in which most developers meet each feature. Early topics focus on the request lifecycle and the files you edit every day. Later topics cover infrastructure features that become important as an application grows. The Quick Guide at the end ties several chapters together in a single small project.
Code samples
Examples use modern Laravel conventions: the slim application skeleton introduced in Laravel 11, PHP 8 attributes where they help, and Composer for dependencies. Commands are shown for a Unix-like shell; on Windows, run the same Artisan commands from PowerShell or a terminal.
composer create-project laravel/laravel blog
cd blog
php artisan serve
If a chapter mentions a file that does not exist in your project yet, create it where the example suggests. Laravel rarely requires configuration before code works, but it rewards consistency once a project grows.