
Learn Laravel from basics to building real-world projects, creating a contact app and La Epix image sharing app, and master migration, eloquent relationship, routing, controllers, forms, validation, and authentication.
Set up your local Laravel development environment by installing PHP 8+ and necessary extensions, a database server, and Composer. Explore three development stacks—XAMPP, ballet, and sail—to run Laravel projects efficiently.
Install and configure xampp on Windows, start Apache (and optionally MySQL) via the Zampa control panel, then register the php path in Windows environment variables and restart the command prompt.
Install and configure composer on Windows, verify the path, and install the Laravel installer to quickly create a new Laravel project, establishing your local development environment.
Set up a Laravel local development environment on macOS using Homebrew, MySQL, PHP, and Composer, with Herd for nginx and dnsmasq and a new Laravel project.
Learn to set up a mac development environment for Laravel by installing Homebrew, PHP, MySQL, and Composer, verify versions, and create a new Laravel project.
Install and configure Valet on macOS, add Composer and Homebrew, then park your local projects in a workspace, verify with a test domain, and access them in the browser.
Install Docker Desktop and Laravel Sail to run Laravel in Docker. Create a new Laravel project with curl, add services, then start Sail and use Sail Artisan commands and composer.
Install essential tools to support Laravel development on your local machine, including a modern web browser, Visual Studio Code, terminal access, database tools, and Node.js with npm, and Yarn.
Build a Bitly-style URL shortener from scratch, validate real URLs with form validation, store original URLs and shortcodes in a database, handle Unicode route parameters, and implement HTTP redirects.
Set up a brand-new Laravel project, confirm SQLite as the database, and run the server and migrations to ensure a ready, zero-config local development environment for building the URL shortener.
Create a Laravel model for the links table and secure it with mass assignment safeguards. Use a fillable whitelist for original_url and shortcode so data maps safely.
Replace the default Laravel welcome page with a clean URL shortener form, wiring the home route and view, adding CSRF, and preparing the shorten post route.
Build a post route and a controller in Laravel to handle url shortening, and implement server-side validation to ensure the original URL is present and valid.
Generate a cryptographically secure six-character shortcode for a validated URL using Laravel's Str helper, and save the mapping to the links table via the link model, noting potential collisions.
Save the validated original URL and shortcode to the database using eloquent, then redirect back to the home page and render a flashed success message in the welcome view.
Develop and test a short URL route in Laravel that captures a shortcode, queries the links table, and redirects to the original URL, returning 404 when not found.
Master Laravel by building a complete, fully functional bitly-styled URL shortener, mastering migrations, Eloquent models, advanced routing, Blade forms with CSRF, validation, redirects, and optional extra credit challenges.
Set up your local development environment, then build a simple Laravel blog with a home page listing posts (title, excerpt, author, date, tags), details view, author posts, and tag filtering.
Set up a new Laravel project named blog using the Laravel new command, targeting version 11.x, then verify locally with php artisan serve and the localhost:8000 welcome page.
Define web routes in web.php, return views, create posts index blade with a list, add a dynamic posts/{post} route, pass the post to the show view, and display the id.
Load posts from markdown files using the sheets package from speedy to store, retrieve, and index content, then render the posts collection in the index view.
Add frontmatter metadata to markdown blog posts using YAML for title, author, and excerpt, then switch to a markdown with Frontmatter parser and display posts by slug.
Install tailwind css in a Laravel project and configure tailwind and postcss. Apply tailwind directives to app.css, customize the font, enable the typography plugin, and run npm run dev.
Create a blade layout using template inheritance in Laravel, defining a reusable app layout with headers, footers, and content sections, then extend it in child views and apply styling.
Refactor the application layout using blade components by moving the layout to a components folder, replacing yield with slot, and replacing extends and section with x app layout tags.
Display the author's posts by adding author metadata to markdown, linking the author name to an author route, filtering posts by the selected author, and rendering via Blade components.
Learn how to tag blog posts in a Laravel blog, display tags in post meta with Blade loops, and style them with Tailwind while handling non-existent routes.
Learn to display posts by tag in a Laravel blog by defining a tag route, filtering posts by route tag, and rendering with a reusable post-items component.
Learn to build a practical Laravel workflow for multiple image uploads, including validation, file storage, image resizing, and displaying uploaded images with a minimal user interface.
Validate uploaded images in a Laravel form request by requiring an images array, validating each file as an image under two megabytes, and displaying errors for invalid input.
Create a data folder structure, iterate over uploaded files, and generate a unique, slug-based file name with the time and extension, then store the file to the public disk.
Store file metadata in the database, including original name, mime type, size, and path, while keeping the file on disk and using a media model with fillable fields.
Create an accessor to generate a public original URL for uploaded images using the storage URL helper, and display them in an index view via a route and blade template.
Resize images before saving with Intervention Image, read the uploaded file, scale to a max width of 320 pixels preserving aspect ratio, encode, and store on the public disk.
Learn to set up Tailwind CSS in a Laravel project, configure and import it, build with npm run dev, and create a reusable application layout using Laravel layouts and slots.
Style the upload images form with tailwind for a centered two-thirds container and card-like appearance. Include accessible labels, a back button, and styled upload and cancel actions with hover states.
Enhance the file input by hiding the default input and styling the label as a full-width button, with flexbox layout and JavaScript to display the selected file name.
Create a new laravel project with laravel new Contact App, cd into it, and run php artisan serve to view the Laravel welcome page at localhost:8000.
Explore the Laravel project structure, including app (MVC), config, database, public, resources, routes, storage, vendor, dot env and example, and Artisan commands like serve.
Explore how the Laravel artisan command line interface speeds development by using PHP artisan serve, listing commands, showing usage and options, and creating controllers with make controller.
Learn to use the tinker shell to interact with your laravel application, run php functions like strlen, convert strings to kebab and snake case, and inspect views with help commands.
Define web routes using the route facade and the get method, returning closures or views, then test in the browser and inspect all routes with php artisan route:list.
Define dynamic url segments in Laravel routes with placeholders like {id}, bind them in a closure to return the id, and support optional parameters with a default.
Constrain route parameters in Laravel using the where method with regex. Ensure id is numeric and name is alphabetic, and use where alpha, where number, or alphanumeric for concise patterns.
Learn to name routes with the name method, generate links via the route helper, and prevent 404 errors when changing paths, ensuring consistent navigation.
Learn how root groups share route attributes such as middleware, prefix, and name across routes, then prefix routes and their names with admin within a route group for scalable routing.
Define a fallback route with the route facade to handle requests that don't match any route, triggering a 404 page and returning a callback response.
Learn to display data using blade templates in Laravel, echoing variables with safe escaping, choose between blade and plain php views, and embed code or comments in the view.
Create a contacts index view using blade in a Laravel app. Learn blade compilation, view caching, and artisan commands to pre-compile or clear the view cache for deployment performance.
Practice building the contacts create view in Laravel by following the exercise. Create a new create blade PHP file and link it to the all contacts page.
Pass data to a Laravel view using an associative array or compact, access it by key in the view, and display contacts with foreach, linking to their detail by id.
Learn to pass data to the contact show view with a reusable get_contacts function, using the with method, and abort helper to return 404 for invalid IDs.
Integrate an html template into a Laravel project by creating a layout and Blade inheritance, then move assets and markup into layouts and public folders.
Extend the main layout using blade template inheritance, define a content section, and use yield to render a dynamic contacts table.
Practice blade template inheritance and bootstrap styling to create dynamic titles and contact views, extending the main layout, and link create and index routes in Laravel.
Learn how to include a blade view inside another view to improve readability and reuse by using include, include when, and include unless with data passed to the included view.
Master blade control statements and loops to render elements and iterate over arrays or collections in the contacts index, replacing PHP tags with blade syntax and using forelse for empty states.
Learn how to control loops in Laravel with continue and break directives, skip specific iterations, and use the loop variable to apply styling to first, last, even, and odd rows.
Learn two methods to render collections in Laravel Blade: a loop with include and the each directive. Understand variable scope and data passing for clean views.
Style the empty view by replacing a paragraph with a table cell using a tr and td, merging six columns with colspan, and displaying a bootstrap alert message.
Create a landing page by applying a new public layout to the welcome page, replacing the nav bar, adding a footer, and customizing the welcome blade with a meaningful message.
Stop learning theory. Become a job-ready Laravel developer through a unique, two-part, project-based system.
If you're tired of fragmented tutorials, this is the course for you. We believe you learn in two distinct stages:
First, by building practical mini-projects to gain quick skills and confidence.
Second, by building one comprehensive, deep-dive project to truly master the framework's core.
You won't just watch—you'll code. This course is 100% hands-on, designed to take you from a Laravel novice to a confident professional developer.
Part 1: The Foundations & Quick Wins
We start by building your confidence and skills rapidly. In this section, you'll build several practical, self-contained "mini-projects." You'll learn key Laravel features in isolation as we build:
A Bitly-like URL Shortener: Learn fundamentals like routing, controllers, database interaction, and Blade templating.
A simple Blog: Master Laravel fundamentals by building a simple blog.
An Image Uploader: Understand form handling, file storage, and practical skills like image resizing.
And more projects to be added! Each project reinforces a new concept, giving you immediate, tangible results.
Part 2: The Professional Deep-Dive Project
This is where you go from developer to professional. You will apply everything you've learned (and more) to build one complete, full-stack "Contact Manager" application from scratch.
This single, comprehensive project is designed to teach you every core concept you need in a real-world job, including:
Professional Setup: Using the Artisan CLI to build your application efficiently.
Database Mastery: Structuring your app with Database Migrations and Seeding.
Eloquent ORM: Going deep into Eloquent relationships and powerful features like Soft Deletion.
Core Concepts: A true deep-dive into routing, controllers, authentication, and security best practices.
And much more.
By the end of this project, you will have a portfolio-ready application that proves your expertise.
What You Will Master
By the end of this two-part course, you will be proficient in:
Core Fundamentals: Artisan CLI, Routing, Controllers, and the Blade Templating engine.
Database & Eloquent: Migrations, Seeding, Query Building, and advanced ORM features like Soft Deletes.
Full-Stack Workflow: Handling forms, file uploads, image manipulation, and validation.
Best Practices: Writing clean, scalable, and maintainable code used in professional environments.
Is This Course For You?
This course is designed for:
Ambitious Beginners who want to learn their first PHP framework the right way.
PHP Developers looking to upgrade their skills and move to a modern, in-demand framework.
Students or Freelancers who need a strong, portfolio-worthy project to get hired.
This is your gateway to becoming a professional Laravel developer.
Stop struggling with documentation. Enroll now and start building your first project in minutes!