Skip to main content

PHP 8.4

PHP 8.4 is the newest line, introducing property hooks, asymmetric visibility, a new (JIT-friendly) DOM API and lazy objects. php-ci tracks it so you can validate forward compatibility today.

Image tag

docker pull himanshuramavat/php-ci:8.4
PropertyValue
Image taghimanshuramavat/php-ci:8.4
PHP branch8.4.x
StatusActive — newest

When to use it

  • New green-field projects that want the longest support runway.
  • Adding a "future PHP" column to your test matrix to catch deprecations early.

Run the suite

docker run --rm -v "$(pwd):/app" -w /app himanshuramavat/php-ci:8.4 \
bash -c "composer install --no-interaction && ./vendor/bin/phpunit"

Language features available

  • Property hooks — computed get/set behaviour without boilerplate accessors
  • Asymmetric visibility (public private(set) string $name;)
  • New, spec-compliant Dom\HTMLDocument / Dom\XMLDocument API
  • Lazy objects (ReflectionClass::newLazyGhost())
  • array_find(), array_any(), array_all() helpers

Compatibility note

# Run a forward-compatibility check against the newest line
docker run --rm -v "$(pwd):/app" -w /app himanshuramavat/php-ci:8.4 \
bash -c "composer update --no-interaction --with-all-dependencies && ./vendor/bin/phpunit --display-deprecations"

Some Composer dependencies may not yet declare ^8.4 support in their composer.json constraints. If composer install fails on platform requirements, test with --ignore-platform-req=php while you wait for upstream updates — but never ship that flag in production builds.