• Post category:StudyBullet-13
  • Reading time:9 mins read

Build a real example Web application from scratch with PHP 8 and MySQL

What you will learn

Build a real-world, secure and modern vanilla PHP application

Best Programming Practices with clean Software Architecture

Building a complete application from A to Z

Object Oriented Programming (OOP)

MVC architecture

The Service layer pattern (where the business logic of your application lives)

Usage of a Dependency Manager “Composer” and the installation of packages

Symfony Mailer, Dotenv, Gravatar and Templating components

The important features of PHP 8 and 8.1

How to quickly use a modern responsive CSS framework (e.g. Materialize) by creating and loading it into a PHP Composer package and the magic `post-install-cmd`

PHP Unit tests


Learn how to build a robust and reusable PHP Web application with MySQL from scratch.
Step-by-step, you will build a complete PHP 8 framework, and later in the course, we will cover some great 3rd-party packages we will include in our project (you will also learn how to send emails efficiently with the Symfony Mailing package).

The screencast videos literally cover everything (nothing is hidden!), giving you the opportunity to understand and follow the whole evolution of the Web application.
You will learn how to build a modern, clean and flexible framework following the best coding practices and PHP standard recommendations (PSR) allowing you to reuse it easily for your next SaaS.

Get Instant Notification of New Courses on our Telegram channel.

At the end of the course, you will be confident to build any kind of real-world Web application for your next business idea or to take your freelance career to the next level! You will also be able to implement your own unique ideas and concepts from the codebase of this course.

Finally, once you subscribe to this course, I will do my best to answer your questions within a few hours for any of your questions. I know how challenging it can be to build a whole Web application and I want you to succeed in building the web application you want.





Part 1 – Structure of the framework

Structure and fondation of our app
Kernel, the URL router/dispatcher
Architecture. Views and Controllers
Building the user sign-in/sign-up flows
Submit form data – Manage the submission
User Model and saving user data
Setup project on a local PHP server. Let’s make it ready for the new move

Setup & Rewrite the URLs

Setup & Rewrite the URLs

Use database, session, and password hashing

Use database and session for signup form
How to hash user password efficiently with PHP

User Authentication, Sign In and Sign Out

User Authentication
User Sign Out
User Sign In

Create and validate the user edit form

Create user edit form
Validate and save the edit form

Edit password form

User edit password form

Frontend & Style

Prepare the frontend of our web app
Create materialize CSS for packagist
Application layout
Style/CSS enhancements

Security Enhancement (good practice)

Security – Ask current password when users update their password

Payment Controller

Payment Controller
Implement the Payment Controller
Create Payment Model/Service
Add Payment Form
Update and Save Payment Details

Allow users to create items

Prepare & Create items table
Create Items Model and Service
Implement Items to controller and view
Enhancing Item form
Minor cleanups on item form
Show the user item
Add a purchase PayPal button
Display item page link to user

Improve the Web app

Improve top-menu bar
Let’s improve a few things
Prevent users to create an item without a payment method set

Symfony Templating component

Use Symfony Templating component

Handle 404 Page

Handle 404 Not Found Page from the app router
Fix menu on not found page

About and Contact forms

About / Contact form page

Git your project

Git Usage. Commit your project


Composer json – Config settings
Design Enhancements
Send greeting email to your new users

Host your Web Application

Host your Web Application

Conclusion – There is more!

Last Minute cleanup/refactoring and commits
Beyond what we have built – Suggestions for improvements

Extra – Unit Testing

Introduction to unit tests with PHPUnit