
Advance your Laravel 12 skills by mastering model-view-controller (mvc), eloquent orm relationships, authentication, restful apis, and Blade components for real-world, scalable applications.
If you already downloaded VS Code and exam, you do not need to watch the second two videos, and you can start the course right away.
Install xampp, a local server stack including Apache, MySQL, PHP, and phpMyAdmin, by downloading the installer and running the setup.
Install Visual Studio Code, the text editor we will use, by downloading for Windows, accepting the agreement, and installing. Alternatives like PHP Storm, Sublime, and Notepad++ also work.
Install composer, PHP's package manager, to manage packages for Laravel. Follow steps to download and install for all users, set the path, and verify the version.
Install Node.js to use npm and compile assets for the Laravel UI package. Node.js enables server-side JavaScript and must be verified with node -v and added to Windows path.
This course targets intermediate to advanced basics in Laravel and revisits the beginner material, previewing MVC (models, controllers, views), CRUD, migrations, routing, and flash messages.
Create a new Laravel 12 project with composer, run the local server via php artisan serve, and configure the database to MySQL with the name 'Lora crud' and root user.
Create a posts table with title, author, and content columns, run migrations with php artisan migrate, and define a Post model with fillable fields for CRUD.
Learn how to build a Laravel posts page by creating a posts controller, route, and blade views, then fetch and display all posts with proper ordering and a master layout.
Create new posts with a Laravel form and a store action that inserts title, author, and content. Redirect back to the posts route after saving.
Display a single post by ID on its own page, fetch it with the primary key in a controller, and render it in a blade view with a back link.
Build a Laravel update flow: edit a post with a prefilled form, load the post using find or fail, update title, author, and content, then redirect to the posts list.
Learn to delete posts in Laravel by locating a post by id, invoking the delete function, and redirecting to the posts route. The post then disappears from the list.
Learn to add validation to posts in Laravel by validating inputs with rules like required and max 255, showing errors via @error on create and update.
Learn how to use flash messages in Laravel to show success alerts after creating, updating, or deleting posts by storing a session key and displaying it in views.
Learn how to define and pass route parameters in Laravel routes, including single, multiple and optional parameters, with constraints using where and regex, and using controllers for parameter handling.
Learn to organize routes with route groups, prefixes, and middleware for scalable Laravel apps. Use the group function, name prefixes, and named routes to reference URLs in Blade and controllers.
Explore resource controllers in Laravel, implementing CRUD with index, create, store, show, edit, update, and destroy routes, declared via route resources and artisan commands.
Explore route model binding in Laravel, focusing on implicit binding to fetch a post model by name instead of an ID, with explicit binding as extra control.
Compare implicit and explicit route model binding in laravel 12, showing automatic binding versus manual setup, including id and slug bindings, and noting route service provider absence.
In this lecture, you explore 1-to-1 relationships in Laravel using Eloquent, showing how a user has one profile and a profile belongs to a user.
Learn the one-to-many relationship in Laravel by linking a user to many posts, defining hasMany and belongsTo, and using eager loading to avoid N+1 queries.
Master many-to-many relationships in Laravel by building a post–tag pivot table, defining belongsToMany relationships, and using attach and sync to manage related records.
Learn to work with many-to-many relationships in Laravel by eager loading posts with their tag names via the pivot table. Explore displaying tags and their posts in blade views.
Learn how to define and use local scopes in Laravel's Eloquent to reuse query constraints, chain scopes with parameters, and apply relation-based filters like has tags, while contrasting global scopes.
Learn how Laravel global scopes automatically apply to every query on a model, enforcing rules like status = 1, and how to create, boot, and ignore them.
Learn how accessors in Laravel change how a model attribute is displayed without altering database values, with examples like capitalizing post titles in eloquent models.
Learn how mutators in Laravel alter data before saving to the database, with examples like capitalizing post titles and hashing passwords, and distinguish them from accessors that format output.
Explore eager loading vs lazy loading in Laravel, showing how with and get reduces queries and fixes the n+1 problem when loading posts, users, and tags.
Explore withCount and withSum in Laravel to compute related record statistics, such as post counts per user and sum of related fields, and display results in controllers and blades.
Learn to implement soft deletes in Laravel by adding a deleted_at column and using the soft deletes trait to hide records, restore them, or force delete when needed.
Learn how to paginate in Laravel with the paginate method to load ten posts per page. Explore Blade links, Bootstrap styling, relationships, and avoiding n+1 to support soft deletes.
Compare eloquent and query builder in Laravel; eloquent uses models and relationships for easy maintenance, while query builder provides fast, table-based SQL with joins for complex queries.
Explore aggregates and complex queries in sql using laravel's query builder and eloquent, including count, sum, average, min, max, grouping by user, and conditional filters.
Learn how to safely upload files in Laravel by building a multipart form, validating images, and storing uploads in storage with hashed filenames, while avoiding common mistakes.
Validate file uploads in Laravel by checking mime types and extensions. Enforce max and min sizes and store securely in storage or public folders, including single and multiple uploads.
Learn how to use Laravel's storage facade to manage local and public disks, upload and display images, create public links with storage:link, and handle file existence and deletion.
install Laravel Breeze to bootstrap a minimal authentication starter kit with login, register, password reset, email verification, and logout, including Blade views, routes, and controllers.
Explore gates and policies to implement authorization in Laravel, using a roles and permissions model with a role column and a gate defined in the app service provider.
Learn how gates and policies enforce permissions in Laravel 12, with model-based ownership checks using post policies, artisan generation, and breeze-driven authentication.
Learn to implement email verification in Laravel with Breeze and Mailtrap, configure env credentials, apply the must verify email trait, and protect the dashboard using verified middleware.
Explore how Laravel Breeze provides a password reset flow out of the box, including forget password, reset links, Mailtrap delivery, token verification, and secure password updates.
Explore how Laravel handles APIs, including routes, controllers, models, and resources, and learn restful, token-based authentication with json data in Postman-ready workflows.
Explore setting up a fresh Laravel 12 project and building API routes with api.php, using Postman to test JSON responses, and leveraging controllers and resource routes for RESTful APIs.
Learn how to build api resource controllers in Laravel, returning json and exposing five restful endpoints (index, store, show, update, destroy) via api routes, with no create or edit views.
Learn to return structured JSON responses and status codes in Laravel APIs, using response json for data and messages, with create, update, delete examples and codes like 200, 404, 422.
Validate api requests in Laravel with form requests, enforcing rules for title and body. Return JSON errors with 422 status and replace inline validation with dedicated form request classes.
Learn how to implement token-based authentication with Laravel Syncitium, enabling stateless api access via register and login tokens to protect endpoints like posts and comments.
Register users by validating name, email, and password, create the user, generate a plain text token, hash it for storage, and return it for automatic login.
Learn to implement user login and token creation in Laravel, validate credentials, generate API tokens, and access protected routes using bearer authentication.
Learn how to log out users by deleting the current access token in Syncitium, making tokens invalid, and protect routes with authentication middleware; also access current user data.
Learn to return nested relationships in Laravel API responses by eager loading with the with function, loading the post's author and its comments for efficient data retrieval.
Learn how api resources and transformers shape laravel data into clean json, using resource classes, collections, and nested relationships to keep controllers clean and expose only allowed fields.
Welcome to The Complete PHP Laravel 12 Course: Learn Advanced Basics! This course is designed for developers who want to master Laravel 12 and build professional web applications and APIs. Through practical examples and project-based learning, you will gain real-world skills to develop modern, maintainable, and secure applications.
In this course, you will learn how to:
Understand the fundamentals of Laravel 12 and its project structure
Set up routes, controllers, and views efficiently using Blade templates
Work with Eloquent ORM to interact with databases, relationships, and complex queries
Implement form handling, validation, and secure data submission
Manage file uploads, storage, and work with images in your projects
Build authentication systems with Laravel Breeze and Sanctum for web and API applications
Apply middleware and route protection to secure routes based on user roles
Create and consume RESTful APIs with JSON responses, pagination, and resource transformers
Use request validation and form requests to ensure data integrity
Send emails using Mailables and notifications through email and database channels
Implement background jobs and queues to handle time-consuming tasks efficiently
Build dynamic, reusable Blade components with slots and conditional rendering
Apply advanced Laravel helpers like optional(), collect(), and string helpers for cleaner code
Debug applications, handle errors, and create custom error pages for a professional touch
Log application events and monitor system activity for better maintainability
Optimize application performance, database queries, and API responses
By the end of this course, you will have the knowledge and confidence to create fully functional, secure, and scalable web applications and APIs using Laravel 12. Whether you are a beginner in Laravel or a PHP developer looking to level up, this course provides everything you need to take your skills to the next level and start building projects that are production-ready.
Join now and start building modern Laravel applications that are clean, efficient, and ready for the real world!