Skip to main content
Home

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.

Illustration of a laptop dashboard connected to an application request flow
A Laravel request moves from the browser through routing, middleware, a controller, and finally a view or JSON response.

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.