Web Development · WDC-50

Basic Laravel for Beginners

Basic Laravel for Beginners is a course in building web applications with Laravel 13, from installation with Laravel Herd, routes, controllers and Blade to migrations, Eloquent relationships, validated forms, authentication and deployment. It suits developers with some PHP and MySQL experience and students, and you leave with a working blog application ready to deploy.

Updated
From 7,110 THB / person 7,900 −10% excl. VAT 7% · group rates available
PDFDownload the course outline
  • Duration18 hours · 3 days
  • FormatOnsite / live online
  • Next round28–30 Dec 26
  • CertificateIncluded

Course overview

Web applications keep getting more complex. Writing everything in plain PHP often leads to duplicated code, no structure the whole team understands, and rebuilding the basics such as login, form validation and security for every project. Laravel is a widely used PHP framework that gives everyone one standard way to write code, with ready-made tools that make development faster and maintenance easier.

This course lays the foundations of Laravel 13 for people who have never used a framework. Learners install it with Laravel Herd on Windows and macOS, get to know the MVC structure, and write routes, controllers and Blade views. They then work with the database through migrations and Eloquent, including queries and relationships, build CRUD with validation, upload files, add login with a starter kit, set user permissions, send email, write tests with Pest and deploy to a server. The course closes with a workshop that builds a working blog from start to finish. (3 days, 6 hours per day, 18 hours in total, Beginner level.)

What you’ll gain

  • Install Laravel 13 and create projects with Laravel Herd on Windows and macOS
  • Understand the Laravel project structure and the MVC approach
  • Write routes, controllers and views with Blade components
  • Manage the database with migrations, seeders and Eloquent, including relationships
  • Build CRUD forms with validation and handle file uploads safely
  • Add login and set user permissions with middleware and policies
  • Send email, use queues and write basic tests with Pest
  • Manage code with Git and deploy a Laravel project to a real server

Who this course is for

  • Web developers with some PHP and MySQL experience who want to start using a framework
  • Development teams that want a shared standard for writing PHP code
  • School and university students working on projects or preparing for web development jobs
  • Teachers, lecturers and trainers who teach or use Laravel in their work
  • IT staff and system administrators who look after or develop Laravel applications

Prerequisites

  • Able to use a computer, the internet and the command line at a basic level
  • Some PHP and MySQL experience, such as variables, conditions, functions and basic SQL
  • Basic HTML and CSS for building web pages
  • A Windows or macOS laptop that can run Laravel Herd, Node.js and VS Code, with permission to install software

Curriculum

Course Details

This course is the 2026 edition of the Basic Laravel for Beginners course. It runs for 3 days, 6 hours per day (18 hours in total, 09:00-16:00), as lectures with labs, building one blog application throughout. Beginner level. This edition moves from Laravel 5.7 to Laravel 13 on PHP 8.5, installs with Laravel Herd, uses Vite instead of Laravel Mix and a Laravel Fortify based starter kit for authentication, and adds policies, queues, testing with Pest and Laravel Boost. It lays the foundations for people who have never used a framework and prepares them for Laravel courses that go deeper into APIs or front ends. Learners take home a lab guide, starter and solution code for every lab, and their blog project.

Day 1 Getting Started with Laravel 13 and MVC

Section 1: Lab: Installing Laravel 13 with Laravel Herd

  • Laravel, the MVC approach and what is new in Laravel 13
  • Install Laravel Herd on Windows and macOS, which bundles PHP, Composer and the Laravel installer
  • Create a project with laravel new and open it through Herd's .test domain
  • Set up VS Code, and Laravel Sail on Docker as an alternative
  • The folder structure, the .env file and common Artisan commands

Section 2: Routes in Laravel

  • Create routes for GET, POST, PUT and DELETE
  • Required and optional route parameters
  • Named routes, route groups and prefixes
  • List every route with php artisan route:list
  • Lab: lay out the routes of the blog

Section 3: Lab: Controllers and Requests

  • Create controllers with Artisan and attach them to routes
  • Resource controllers for CRUD work
  • Read data from the request and return a response or redirect
  • Return JSON for simple API needs
  • Lab: controllers for the home page and the article list

Section 4: Views with Blade and Vite

  • Blade syntax and common directives
  • Pass data from controllers to views, and escaping with {{ }}
  • Build layouts and Blade components with slots
  • Manage CSS and JavaScript with Vite and Tailwind CSS
  • Lab: a main blog layout reused on every page

Section 5: Lab: Migrations, Models and Eloquent Basics

  • Configure SQLite or MySQL in the .env file
  • Create and change tables with migrations, and roll them back
  • Create models and add, read, update and delete data with Eloquent
  • Generate sample data with factories and seeders
  • Try commands against real data in Tinker
Day 2 Databases, Forms and User Accounts

Section 6: Eloquent Queries and Models

  • Search with where, orderBy and different kinds of conditions
  • Paginate with paginate and show page links in Blade
  • Query scopes, attribute casting, accessors and mutators
  • Soft deletes, restoring and deleting permanently
  • Lab: an article list with search and pagination

Section 7: Lab: Data Relationships

  • One to one and one to many with hasOne, hasMany and belongsTo
  • Many to many through a pivot table with belongsToMany
  • Has many through and polymorphic relationships
  • Fixing the N+1 query problem with eager loading
  • Lab: articles, categories, tags and comments

Section 8: Lab: CRUD with Forms and Validation

  • Create and edit forms with the CSRF token
  • Basic validation, and moving rules into form requests
  • Show errors and previously entered values with old()
  • Reusable inputs with Blade components
  • Lab: a complete article manager for adding, editing and deleting

Section 9: Uploading Files and Images

  • Configure storage disks and run php artisan storage:link
  • Check file type and size with validation
  • Save files and store their paths in the database
  • Display and delete images correctly
  • Lab: article cover images and user profile pictures

Section 10: Lab: Authentication with a Starter Kit

  • Choose a Livewire, React, Vue or Svelte starter kit when creating a project
  • Registration, login, logout and password reset powered by Laravel Fortify
  • Read the logged-in user and protect pages with the auth middleware
  • Enable email verification, and an overview of two-factor authentication
  • Lab: a blog back office available only to logged-in users
Day 3 Permissions, Email, Testing and Deployment

Section 11: Middleware, Sessions and User Permissions

  • Write your own middleware and register it
  • Sessions and flash messages to report results
  • User roles such as admin and author
  • Permissions with gates and policies
  • Lab: authors can edit only their own articles

Section 12: Lab: Sending Email and Using Queues

  • Create mailables and Markdown emails
  • Test email with the log mailer or Mailpit during development
  • Configure SMTP or an email provider for production
  • Move slow work to a queue with jobs and the database driver
  • Lab: email authors when a new comment arrives

Section 13: Testing and Developer Tools

  • Write feature tests with Pest and RefreshDatabase
  • Test pages, forms and user permissions
  • Format code with Laravel Pint
  • Use Laravel Boost to help AI assistants understand the project, and always check the code they produce
  • Lab: tests for the article manager

Section 14: Git and Deploying to Production

  • Git basics, branches and working with GitHub
  • Prepare the .env file and settings for production
  • Build front-end files with Vite and run php artisan optimize
  • Deploy to a VPS or hosting that supports PHP 8.3 or later, and an overview of Laravel Cloud
  • A security checklist before going live

Section 15: Workshop: Building a Blog with Laravel

  • Bring articles, categories, tags, comments and images together
  • Add a rich text editor and filter HTML before displaying it
  • Readable URLs with slugs, and pagination
  • Deploy the blog, present the work and plan next steps towards RESTful APIs or advanced Laravel

Schedule & training options

For individuals — public rounds

28–30December
Classroom28–30 Dec 26
20 seats left
2–4February
Classroom2–4 Feb 27
20 seats left
27–29April
Classroom27–29 Apr 27
20 seats left
15–17June
Classroom15–17 Jun 27
20 seats left
3–5August
Classroom3–5 Aug 27
20 seats left
19–21October
Classroom19–21 Oct 27
20 seats left
28–30December
Classroom28–30 Dec 27
20 seats left

For organisations — in-house / private

  • Tailor the content to your team’s tools and projects
  • Your dates, at your office or live online
  • Quotation with tax ID for procurement
Corporate training quote

Instructors

Frequently asked questions

How does MVC work in Laravel?

When a request arrives, a route matches the URL and passes it to a controller method, which uses an Eloquent model to read or save data. The controller then passes the data to a Blade view that renders the HTML response, with middleware along the way checking things such as login status. Separating responsibilities like this lets you change the look without touching the logic, and makes it easy for a team to split the work.

What kinds of Eloquent relationships are there?

The main types are one to one (hasOne and belongsTo), one to many (hasMany), many to many (belongsToMany through a pivot table), has many through for reaching data via an intermediate table, and polymorphic relationships that let one model belong to several kinds of model, such as comments on both articles and videos. When displaying many related records, use eager loading with with() to avoid the N+1 query problem.

How do you create a new Laravel project with Laravel Herd?

Install Laravel Herd, which bundles PHP, Composer and the Laravel installer on both Windows and macOS. Open a terminal in the Herd folder, run laravel new followed by the project name, and choose the starter kit, database and testing framework you want. The site is then available straight away on a .test domain named after the project, or with herd open, without configuring a web server yourself.

Who is the Basic Laravel for Beginners course for, and what should I know beforehand?

It suits web developers with some PHP and MySQL experience who want to start using a framework, teams that want a shared coding standard, students, teachers and IT staff. You should be comfortable with a computer and the command line, and have some PHP, MySQL, HTML and CSS. Understanding object-oriented PHP will make the course easier.

What will I be able to do after the Basic Laravel for Beginners course?

You will be able to build web applications with Laravel 13 using routes, controllers and Blade, manage the database with migrations and Eloquent including relationships, build CRUD with validation, upload files, add login and user permissions, send email, use queues, write tests with Pest and deploy the blog you built to a real server. Participants who complete the training receive a Certificate of Completion with its own number, which can be verified online.

What software do I need for Basic Laravel?

You use Laravel Herd to install PHP, Composer and the Laravel installer on Windows or macOS, Node.js for Vite and Tailwind CSS, VS Code with Laravel extensions, and Git for version control. The database starts with SQLite and moves on to MySQL or MariaDB, all installed and configured together at the start of the course. Laravel Sail on Docker is an alternative for those who prefer to run the project in containers.

Related articles

Articles are published in Thai.