PHP Intermediate

💼 PHP Intermediate — Full Course Outline

Module 1: Course Overview & Review of Fundamentals

What You Should Already Know (Variables, Functions, Forms, MySQL)

Setting Up a Professional PHP Environment

Using Composer

Working with VS Code and PHP extensions

Folder Structure and Project Organization

Introduction to PHP 8+ Features (Arrow Functions, Named Arguments, Union Types)


Module 2: Working with Forms and Data Handling (Advanced)

Deep Dive into $_POST and $_GET

Handling Multiple Forms on a Single Page

File Uploads (Single & Multiple Files)

Secure Input Validation and Sanitization

Working with CSRF Tokens for Form Security


Module 3: Advanced Functions and Code Reuse

Anonymous Functions and Closures

Callback Functions

Variable Functions

Recursion in PHP

Understanding the use Keyword with Closures

Namespaces and Modular Programming


Module 4: Object-Oriented Programming (OOP) in PHP

Introduction to Classes and Objects

Properties, Methods, and Constructors

Access Modifiers (public, private, protected)

Getters and Setters

Inheritance and the parent Keyword

Abstract Classes and Interfaces

Traits and Code Reuse

Static Properties and Methods

Autoloading Classes (PSR-4 Standards)

Magic Methods (__get, __set, __construct, __toString, etc.)


Module 5: Working with Databases (PDO and MySQLi)

Why Use PDO Instead of MySQLi

Connecting to Databases Securely

Prepared Statements and Parameter Binding

Fetching and Displaying Data

Handling Exceptions in Database Queries

CRUD Operations with PDO

Database Connection Best Practices

Error Handling and Logging


Module 6: Sessions, Cookies, and Authentication (Advanced)

Deep Dive into Sessions and Cookies

Secure Session Management

Session Hijacking and Fixation Prevention

Building a Custom Login/Logout System

Password Hashing and Verification (password_hash, password_verify)

Remember Me Functionality

Role-Based Access Control (RBAC)


Module 7: Working with Files and Directories

File System Functions (scandir, file_exists, etc.)

Reading and Writing Files Efficiently

Handling CSV and JSON Files

File Permissions and Ownership

Building a Simple File Manager App


Module 8: Error Handling, Exceptions, and Logging

Using try, catch, and finally Properly

Creating Custom Exception Classes

Using Error Reporting Levels

Logging Errors to Files or Databases

Displaying User-friendly Error Pages

Handling Fatal Errors Gracefully


Module 9: PHP and APIs

What is an API?

Working with REST APIs Using file_get_contents() and cURL

Sending GET and POST Requests with cURL

Handling JSON Data (json_encode, json_decode)

Creating Your Own Simple REST API in PHP

Using Headers and HTTP Status Codes


Module 10: Advanced Array and String Operations

Associative and Multidimensional Arrays (Advanced Manipulation)

Using Array Functions Efficiently (array_map, array_reduce, etc.)

String Formatting and Regular Expressions (Regex Basics)

Splitting, Searching, and Replacing Text Patterns

Parsing and Generating JSON or XML


Module 11: PHP Design Patterns (Introduction)

Why Use Design Patterns

Understanding MVC Architecture

Singleton Pattern

Factory Pattern

Observer Pattern (Intro)

Dependency Injection (Basic Concept)


Module 12: Security Best Practices

Input Sanitization and Validation (Deep Dive)

Preventing SQL Injection

Preventing XSS and CSRF

Securing File Uploads

Password Storage and Hashing

Securing Sessions and Cookies

HTTPS and SSL Overview


Module 13: Email Handling and Notifications

Sending Emails with mail() Function

Sending Emails with PHPMailer or Symfony Mailer

HTML Email Templates

Email Attachments and SMTP Configuration

Sending Password Reset or Verification Emails


Module 14: Working with Composer and Packages

Introduction to Composer

Installing and Managing Packages

Understanding autoload and Namespaces

Example: Using PHPMailer, Carbon, or GuzzleHTTP

Creating Your Own Composer Package


Module 15: Building and Consuming REST APIs

Setting Up an API Endpoint

Using HTTP Methods (GET, POST, PUT, DELETE)

Sending and Receiving JSON

Token-based Authentication (JWT Basics)

Testing APIs with Postman

API Versioning and Documentation


Module 16: Advanced Database Techniques

Database Relationships (One-to-Many, Many-to-Many)

Joins and Complex Queries

Using Transactions and Rollbacks

Stored Procedures (Intro)

Database Optimization Tips


Module 17: Project – PHP Blog System

Project Overview and Planning

Setting Up the Database

Creating User Authentication

Admin Dashboard and CRUD for Posts

Adding Comments and File Uploads

Implementing Categories and Tags

Styling and Security Enhancements


Module 18: Project – Simple RESTful API

Building an API with PHP and PDO

Handling Requests and Responses

Returning JSON Data

Error Handling in APIs

Testing and Debugging


Module 19: Working with Frameworks (Introduction)

Why Use a Framework?

MVC Structure Explained

Overview of Laravel and CodeIgniter

Installing Laravel via Composer

Comparing Vanilla PHP and Framework-based Development


Module 20: Next Steps for PHP Developers

Introduction to PHP 8 Advanced Features (Attributes, JIT, Match Expression)

Working with CLI PHP Scripts

Introduction to Unit Testing (PHPUnit)

Version Control with Git & GitHub

Deploying PHP Applications (Shared Hosting, VPS, Docker)

Roadmap to Becoming a PHP Professional


✅ Optional Mini Projects Throughout the Course

File Upload Manager

Contact Form with Email Sending

JSON-based API Client

Secure Login System

Image Gallery with Pagination

Lessons in this Course

No lessons have been added to this course yet.