PHP Language Standards
Priority: P0 (CRITICAL)
Structure
src/
└── {Namespace}/
└── {Class}.php
Implementation Guidelines
- Strict Typing: Declare
declare(strict_types=1);at file top. - Type Hinting: Apply scalar hints and return types to all members.
- Modern Types: Use Union (
string|int) and Intersection types. - Read-only: Use
readonlyfor immutable properties. - Constructor Promotion: Combine declaration and assignment in
__construct. - Match Expressions: Prefer
matchoverswitchfor value returns. - Named Arguments: Use for readability in optional parameters.
Anti-Patterns
- No Type Context: Avoid functions without return or parameter types.
- Sloppy Comparison: No ==: Use
===for strict comparison. - Legacy Syntax: No switch: Use
matchfor simple value mapping. - Global Scope: No Globals: Never define logic in global namespace.
References
- Modern PHP Patterns