levelmax World 0 Tutorial
  1. 0
  2. 1
  3. 2
  4. 3
L
Level 0.0 ~4 min

Welcome

Hi, I'm Paul

I'm a lead-level PHP developer based near Redcar in North East England. I've been writing PHP professionally for over 15 years, and these days I work in ecommerce, mostly on the B2C side: the shops where people click "Buy now".

My professional PHP life started around 5.3, back when namespaces and closures felt like the future. I went through CodeIgniter, CakePHP, more than one hand-rolled MVC framework, and yes, WordPress too. Laravel arrived around version 5 and never left. Over the years I've built checkouts and payment integrations, order and stock systems, high-traffic storefronts, and plenty of internal tools that "only needed to last a few months" and are somehow still running.

PHP has changed enormously in that time. Scalar types, return types, union types, enums and readonly properties mean the language can now say a lot about what your code promises. PHPStan can check those promises before anything runs. Most teams switch it on at a low level, add a baseline, and never quite get round to the climb.

This course is for developers who already ship real PHP. You don't need to be told what a class is. You've probably seen a wall of PHPStan errors and wondered which of them actually matter. By the end, you'll know what each level asks of your code, why it asks it, and how to take a real project all the way to max without lying to the tool.


How a level works

Every level has two halves, side by side on a wide screen:

  • Read is a short explainer. Most levels pair a Before habit with an After power-up, flag a Trap ahead, and finish with a Quick check quiz.
  • Code is a real PHP project. Run tests runs PHPUnit, Analyse runs PHPStan, and Submit runs both. A level clears only when the tests pass and PHPStan is clean.

Levels suggest an order but don't lock you in. If you already know a topic, skip ahead. You can always come back.

The climb

Every exercise is analysed at a stated PHPStan level, shown as a chip beside the level title. That target only goes up as you move through the course:

Tutorial and Strict TypesLevels 0 to 5: "PHPStan seems quite reasonable"
Honest TypesLevels 6 to 8: "What do you mean, what's in the array?"
PHPStan to MaxLevels 9, 10 and beyond: "Every mixed is now my personal problem"
The higher the level, the more PHPStan takes your types at their word.

What's in the Tutorial

Level What you'll get out of it
0.1 The sandbox What happens when you click Run tests, Analyse, or Submit, and which files you can change. Your first exercise.
0.2 Reading PHPStan output How to turn a diagnostic into a fix: file, line, message, and identifier.
0.3 The levels, explained What each PHPStan level adds, and how this course climbs them.

By the end of the Tutorial you'll be able to read a PHPStan report quickly, know which level found what, and clear an exercise with real tools. Then the climb starts properly with Strict Types.

Next: 0.1 The sandbox