Skip to content

Add PHP 8.3 typed constants and #[Override] attributes#335

Merged
bbankowski merged 2 commits into
masterfrom
housekeeping/php84-migration
Apr 28, 2026
Merged

Add PHP 8.3 typed constants and #[Override] attributes#335
bbankowski merged 2 commits into
masterfrom
housekeeping/php84-migration

Conversation

@bbankowski

Copy link
Copy Markdown
Member

Summary

  • Add typed class constants (PHP 8.3) to all 133 untyped constants across Core, Goodies, Inject, and Migrations
  • Add #[Override] attribute (PHP 8.3) to all 242 overriding methods across the codebase

Details

Typed class constants

Every class constant now declares its type explicitly (string, int, bool), making the intent clear and enabling stricter static analysis.

#[Override] attribute

Every method that overrides a parent class method or implements an interface method is annotated with #[Override]. This causes PHP to emit a compile-time error if the method no longer overrides anything (e.g. after a parent rename), preventing silent bugs.

Test plan

  • PHP syntax check passed on all modified files
  • Goodies test suite: 892 tests, 0 failures (26 DB-related errors expected without a database container)
  • Inject test suite: 41 tests, 103 assertions, all green

🤖 Generated with Claude Code

bbankowski and others added 2 commits April 28, 2026 13:35
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@bbankowski bbankowski self-assigned this Apr 28, 2026
@bbankowski bbankowski merged commit cfe1c95 into master Apr 28, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants