PHP 8.2 - Just upgrade and go?
summary
Argues that "just upgrade and go" fails unless tests and automation back it up and then demonstrates concrete steps and tools: install a recent runtime in a container, run PHPUnit 9 against 200+ tests, run the IDE inspection via CLI to produce JSON, run Rector to apply refactor rules, and use characterization tests and recorded HTTP proxies to ensure identical behavior. Example project templ has 100% test coverage locally but shows two failing tests on a PHP 8.3 nightly revealing an XML namespace change.
AI-written summary · about
chapters (12)
- 0:00Introduction
- 2:52PHP 8.2 testing setup
- 7:13Real-world upgrade challenges
- 9:19Automated compatibility tools
- 13:17PHPStorm upgrade help
- 15:03PHP Inspections (EA Extended)
- 17:51Refactoring with Rector
- 22:47Testing after changes
- 24:14Characterization tests
- 33:54CI and daily testing
- 36:02Nightly builds testing
- 40:36Q&A
related talks
49mUpgrading Legacy to the Latest PHP Version
49mThe why and the how of moving to 7.x
28mGrowing the PHP Core – One Test at a Time
43mStepping into the future: Migrating & Deploying PHP7
51mWhat's new in PHP 8.0?
58mTesting Complex Applications for PHP7
45mRediscovering PHP: Modern Practices Beyond Legacy
22mInstant Upgrades with Rector
