Table of Contents
1) Setup & Tooling
2) Language Basics
3) Data Structures & Data Handling
4) OOP & Design
5) Web & HTTP (Apps / APIs)
6) Database & Persistence
7) Security
8) Testing & Quality
9) Performance & Scaling
10) Frameworks
11) Deployment & Operations
1) Setup & Tooling
Install & Runtime
PHP Versions
PHP CLI
php.ini basics
error_reporting & display_errors
PHP-FPM
Composer
composer init
composer require
composer update
Composer scripts
Autoloading
PSR-4
Namespaces
Quality Tools
PHP-CS-Fixer
PHP_CodeSniffer
PHPStan
Psalm
Debugging
Xdebug
var_dump / dd
2) Language Basics
Syntax
PHP tags (<?php ... ?>)
echo vs print
Comments
Variables & Constants
Variables ($x)
Constants (const, define)
Scope (global/local/static)
Superglobals ($_GET, $_POST, $_SERVER...)
References (&)
Types
Scalar types
Array type
Object type
declare(strict_types=1)
Type juggling
Operators
== vs ===
Ternary (?:)
Null coalescing (??)
Spaceship (<=>)
Control Flow
if/else
switch
match
for/foreach/while/do-while
break/continue
Functions
Parameters & return types
Variadic (...$args)
Named arguments
Closures
use keyword (capture)
Arrow functions (fn)
Generators (yield)
3) Data Structures & Data Handling
Strings
Interpolation
Formatting (sprintf)
Multibyte strings (mbstring)
Regex (PCRE)
Arrays
Indexed vs Associative
array_map/filter/reduce
Sorting
Destructuring
Spread operator (...)
JSON
json_encode
json_decode
JSON errors
Date & Time
DateTimeImmutable
Timezone
DateInterval
Files
Read/Write files
Uploads basics
Serialization
serialize/unserialize
Serialization security
4) OOP & Design
Class & Object
Properties & Methods
Visibility
Constructor
Inheritance
Override
final
Interfaces
Abstract classes
Traits
Exceptions
try/catch/finally
Custom exceptions
Magic methods
Modern OOP features
Attributes
Enums
Readonly
Principles & Patterns
SOLID
Dependency Injection (DI)
Design Patterns
DDD basics
5) Web & HTTP (Apps / APIs)
HTTP Basics
Methods
Status codes
Headers
Request/Response in PHP
$_GET / $_POST
$_SERVER
Content-Type
Routing (concept)
Views & Templating
PHP templates
Twig (Symfony)
Blade (Laravel)
Sessions & Cookies
session_start
Cookie flags
File Uploads
$_FILES
Upload security
API Design
REST
Pagination
Versioning
Validation
Error responses
6) Database & Persistence
PDO
Prepared statements
Transactions
MySQL
Indexes
Joins
Migrations
ORM
Eloquent
Doctrine
Repository pattern
Cache layer (Redis)
7) Security
Input validation
SQL Injection
XSS
CSRF
Authentication
Passwords
JWT
Session auth
Authorization
RBAC
Policies
CORS
HTTPS
Secrets management
8) Testing & Quality
PHPUnit
Unit tests
Integration tests
Mocking
Pest
Static analysis
PHPStan
Psalm
Code coverage
CI testing pipeline
9) Performance & Scaling
OPcache
Profiling
Caching
Redis
Cache strategies
Queues
Async/Concurrency
Swoole
ReactPHP
10) Frameworks
Laravel
Routing
Controllers
Middleware
Validation
Eloquent
Queues
Symfony
DI Container
Routing
HttpFoundation
Slim
PSR Standards
PSR-7 HTTP Messages
PSR-15 Middleware
PSR-3 Logger
11) Deployment & Operations
Nginx + PHP-FPM
Virtual host
Permissions
Docker
Dockerfile
docker-compose
CI/CD
GitHub Actions
Monitoring
Logs
Metrics
Alerting