This is kind of an outline of my Learn PHP The Right Way series on youtube. The series is split in three sections & all the videos are within the following playlist. Below is list of the videos with their appropriate section & lesson number.
The series is up to date with PHP version 8.1. I will try my best to keep this series up to date as the new PHP versions come out. Feel free to open a PR if you notice a typo or a mistake or let me know.
- Lesson 1.0 - Intro
- Lesson 1.1 - Installation & Webservers
- Lesson 1.2 - Syntax
- Lesson 1.3 - Constants & Variable Variables
- Lesson 1.4 - Data Types & Casting
- Lesson 1.5 - Boolean Data Type
- Lesson 1.6 - Integer Data Type
- Lesson 1.7 - Float Data Type
- Lesson 1.8 - String Data Type - Heredoc & Nowdoc Syntax
- Lesson 1.9 - Null Data Type
- Lesson 1.10 - Arrays
- Lesson 1.11 - Expressions
- Lesson 1.12 - Operators Part 1
- Lesson 1.13 - Operators Part 2
- Lesson 1.14 - Operator Precedence & Associativity
- Lesson 1.15 - Control Structures - If/Else
- Lesson 1.16 - Loops - Break & Continue
- Lesson 1.17 - Switch Statement
- Lesson 1.18 - Match Expression
- Lesson 1.19 - Return, Declare & Tickable Statements
- Lesson 1.20 - Include & Require
- Lesson 1.21 - Functions & Type Hinting
- Lesson 1.22 - Function Parameters - Named Arguments - Variadic Functions & Unpacking
- Lesson 1.23 - Variable Scopes & Static Variables
- Lesson 1.24 - Variable, Anonymous, Callable, Closure & Arrow Functions
- Lesson 1.25 - Work With Date, Time & Time Zones
- Lesson 1.26 - Work With Arrays - Array Functions
- Lesson 1.27 - PHP.INI - Configuration File
- Lesson 1.28 - Error Handling
- Lesson 1.29 - Apache Configuration & Virtual Hosts
- Lesson 1.30 - Work With File System
- Lesson 1.31 - Mini Exercise Project
- Lesson 1.32 - Mini Exercise Project Solution
- Lesson 2.0 - Intro to Object Oriented PHP
- Lesson 2.1 - Docker - Nginx - FPM
- Lesson 2.2 - Classes & Objects
- Lesson 2.3 - Constructor Property Promotion
- Lesson 2.4 - Namespaces
- Lesson 2.5 - Composer - PSR - Autoloading
- Lesson 2.6 - Class Constants
- Lesson 2.7 - Static Properties & Methods
- Lesson 2.8 - OOP Principles - Encapsulation & Abstraction
- Lesson 2.9 - Inheritance
- Lesson 2.10 - Abstract Classes & Methods
- Lesson 2.11 - Interfaces & Polymorphism
- Lesson 2.12 - Magic Methods
- Lesson 2.13 - Late Static Binding
- Lesson 2.14 - Traits
- Lesson 2.15 - Anonymous Classes
- Lesson 2.16 - Object Comparison - Variable Storage & Zend Value (zval) Container
- Lesson 2.17 - DocBlock
- Lesson 2.18 - Object Cloning
- Lesson 2.19 - Object Serialization
- Lesson 2.20 - Exceptions
- Lesson 2.21 - DateTime Object
- Lesson 2.22 - Iterable Data Type & Iterators
- Lesson 2.23 - Superglobals - Basic Routing Using $_SERVER Info
- Lesson 2.24 - Superglobals - $_GET/$_POST - Forms
- Lesson 2.25 - Superglobals - Sessions & Cookies - Output Buffering
- Lesson 2.26 - Superglobals - $_FILES - File Uploads
- Lesson 2.27 - Intro to MVC
- Lesson 2.28 - HTTP Headers
- Lesson 2.29 - Intro to MySQL
- Lesson 2.30 - PDO Part 1 - Prepared Statements - SQL Injection
- Lesson 2.31 - PDO Part 2 - Transactions - ENV Variables
- Lesson 2.32 - PDO Part 3 - Models & Refactoring
- Lesson 2.33 - Section 2 Review & Exercise Project
- Lesson 3.0 - Intro to Testing
- Lesson 3.1 - Unit Testing - PHPUnit Part 1
- Lesson 3.2 - Mocking - PHPUnit Part 2
- Lesson 3.3 - Dependency Injection & DI Containers
- Lesson 3.4 - DI Container With & Without Reflection API
- Lesson 3.5 - DI Container With Interface Support
- Lesson 3.6 - Generators
- Lesson 3.7 - WeakMap
- Lesson 3.8 - New In PHP 8.1
- Lesson 3.9 - Covariance & Contravariance
- Lesson 3.10 - Attributes - Simple Router With Attributes
- Lesson 3.11 - Enums
- Lesson 3.12 - Composition vs Inheritance
- Lesson 3.13 - Send Emails - Symfony Mailer
- Lesson 3.14 - Schedule Emails - CRON
- Lesson 3.15 - Intro to Doctrine - DataBase Abstraction Layer - DBAL
- Lesson 3.16 - Doctrine ORM - Entities & Data Mapper Pattern
- Lesson 3.17 - Doctrine ORM Query Builder & DQL
- Lesson 3.18 - Doctrine Migrations
- Lesson 3.19 - Active Record Pattern & Intro To Laravel Eloquent
- Lesson 3.20 - Refactor to use Eloquent instead of Doctrine DBAL
- Lesson 3.21 - PHP cURL API Tutorial & Emailable API Integration
- Lesson 3.22 - Refactor cURL to Guzzle With Retry Logic - Multiple API Integrations
- Lesson 3.23 - Data Transfer Objects - What Are DTOs
- Lesson 3.24 - Value Objects Practical Example
- Lesson 3.25 - Intro to Templating Engines - Blade & Twig
- WIP