Skip to content

Version and compatibility guide

Last reviewed: 2026-08-26.

  • PHP 8.5 is the current stable language baseline.
  • PHP 8.2–8.4 remain relevant to maintained production applications.
  • PHP 8.6 is in beta at the review date and is not the production baseline.
  • Laravel 13 is the current framework baseline.
  • Laravel 11–12 remain useful migration and interview context. Laravel 10 may still be encountered but is outside its official security-support window.

Sources: PHP supported versions, PHP releases, Laravel 12 release/support table, Laravel 13 documentation.

Chapters use these labels rather than pretending all codebases are current:

  • Current: suitable default for Laravel 13/PHP 8.5.
  • Common: supported or recently supported behavior common in Laravel 11–12/PHP 8.2–8.4.
  • Legacy: likely to appear in older systems; understand the migration risk.
  • Preview: not a safe production assumption.
  • Laravel applications before the streamlined Laravel 11 structure often configure middleware and providers in kernel/config files that no longer exist in fresh applications.
  • Doctrine-style annotations may appear where modern PHP attributes are now possible.
  • Docblock-only types remain common despite typed properties, union/intersection types and enums.
  • PHPUnit class-style suites are common even where teams now prefer Pest syntax.
  • Laravel Mix/Webpack may appear where current applications use Vite.
  • Passport is appropriate for OAuth2 requirements; Sanctum is usually the smaller solution for first-party SPAs and simple API tokens.

Interview value lies in explaining compatibility, support policy and upgrade risk—not reciting patch releases. Verify exact versions before proposing a production upgrade.