~/talk

Escaping the Code Maze

Talkat PHP UK Conference 2026 · on Friday, 2026-02-20· [frontend-architecture]
slides:none on file

Claims that applying the Closed-by-Default Principle shrinks a class’s implicit assumptions from about ten down to two by using language features (final, typed and readonly properties, nullable and return types) and by adding declare(strict_types). The build uses automated refactors and checks with Rector, PHP CS Fixer and PHPStan, plus a CI workflow in the companion repo, and it succeeds: files become type safe, more strictness enables more automation and the loop tightens until most dead‑end paths are sealed.

AI-written summary · about

  1. 0:00Codebase maze analogy
  2. 1:05Closed by default principle
  3. 3:13PHP 5 features reduce assumptions
  4. 5:23PHP 7 stricter typing
  5. 7:51PHP 7.1/7.4 tighter control
  6. 9:15PHP 8 constructor promotion
  7. 10:39PHP 8.2 readonly classes
  8. 11:42PHP evolution reduces load
  9. 12:23Static analysis automation
  10. 13:48Rector automated refactoring
  11. 15:12Finalizing classes with rector
  12. 16:37Enforcing access modifiers
  13. 18:47PHPStan strict type checking
  14. 20:31Static analysis feedback loop
  15. 22:01Open closed principle
  16. 23:47Intentional code extension
  17. 25:35Navigable codebases
  18. 27:21Custom rules and AI guardrails
  19. 28:27Summary
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.