Stage 0 — Prerequisites (1 week)
- Basic HTML + CSS — you'll generate HTML with PHP.
- Command-line basics (
cd,ls,nano,git). - A local dev environment: XAMPP / Laragon / Docker + VS Code.
Stage 1 — PHP Fundamentals (2-3 weeks)
- Syntax, variables, data types, operators.
- Control flow:
if,switch,match. - Loops:
for,while,foreach. - Functions: parameters, return types, named arguments.
- Arrays — indexed, associative, multidimensional, common functions.
- Strings — formatting, common operations,
mb_*for Unicode. - Working with date/time using
DateTimeImmutable.
Project: Build a CLI calculator + a simple text-based to-do list.
Stage 2 — Web Basics with PHP (2 weeks)
- Forms —
$_GET,$_POST, file uploads. - Cookies + Sessions.
- Validation + sanitisation.
- Error handling, exceptions,
try/catch/finally.
Project: Contact form with server-side validation + email notification.
Stage 3 — Object-Oriented PHP (3 weeks)
- Classes, properties, methods, visibility.
- Constructors (with property promotion), destructors.
- Inheritance, interfaces, traits.
- Polymorphism + abstraction.
- Type system: union types, nullable types, readonly, enums.
Project: Build a small library system — Book, Member, Loan classes with proper encapsulation.
Stage 4 — Databases (2 weeks)
- SQL basics (parallel learning if new).
- Connecting from PHP via PDO.
- Prepared statements + parameter binding.
- Transactions, foreign keys, indexes.
- Schema design — normalisation up to 3NF.
Project: Migrate the library system to MySQL.
Stage 5 — Security (1 week — but it's everything)
- SQL injection — prepared statements.
- XSS —
htmlspecialchars()on output. - CSRF — synchroniser tokens +
SameSitecookies. - Password hashing —
password_hash()/password_verify(). - HTTPS, secure cookie flags, security headers.
- File uploads — MIME whitelist + generated filenames.
Project: Audit and fix vulnerabilities in a deliberately broken app (search "DVWA" or write your own).
Stage 6 — Composer + Modern Toolchain (1 week)
- Composer —
require, autoload,composer.json/lock. - PSR standards — PSR-4 autoloading, PSR-12 code style.
- Static analysis — PHPStan / Psalm.
- Testing — PHPUnit basics.
- Git workflow + GitHub PRs.
Stage 7 — A Framework — Laravel (4-6 weeks)
- Installation, project layout.
- Routing, controllers, middleware.
- Eloquent ORM + relationships + eager loading.
- Blade templates.
- Migrations + seeders.
- Validation + Form Requests.
- Authentication — Breeze / Jetstream / Sanctum.
- File storage + queues + scheduler.
Project: A full blog with auth, posts, comments, tag pages.
Stage 8 — APIs (2 weeks)
- REST conventions.
- JSON request/response with Laravel API Resources.
- Auth via Sanctum tokens.
- Pagination, filtering, error envelopes.
- Webhooks (incoming + outgoing).
Stage 9 — Frontend Pairing (2 weeks)
Pick one:
- Inertia + Vue/React — Laravel-native single-page experience without a separate API.
- Livewire — server-driven reactive UI in pure PHP.
- Vue/React SPA consuming your Laravel API.
Stage 10 — Deployment (1 week)
- Shared hosting via cPanel (good for learning).
- VPS deployment — Nginx + PHP-FPM + MySQL.
- HTTPS with Let's Encrypt.
- Zero-downtime deploys (Deployer / Envoyer).
- Logging, error monitoring (Sentry), uptime checks.
Stage 11 — Performance + Production Polish (2 weeks)
- OPcache, query indexes, eager loading.
- Redis caching.
- Background jobs with Laravel Horizon.
- APM (New Relic, Datadog, Laravel Pulse).
- CI/CD pipeline (GitHub Actions).
Stage 12 — Specialise (ongoing)
Pick at least one:
- WordPress / WooCommerce — huge job market for plugin/theme devs.
- Laravel + Filament — internal tools / admin dashboards.
- API + mobile/JS frontend — typical SaaS.
- High-traffic content sites — caching, CDN, performance.
Capstone Projects (build at least 2)
- E-commerce mini-store with Stripe payments.
- SaaS dashboard with multi-tenancy.
- Open-source contribution to a Laravel package.
Time investment
Full-time learner: 4-6 months to job-ready.
Part-time (10 hr/week): 9-12 months.
