feat(generator): add PHP 8.4 interface property hook contracts support
- Update gen_stub.php to handle abstract property hooks with array{get?: string|true, set?: string|true}
- Add abstractHooks property and logic to detect abstract hook implementations
- Modify property hook registration to use registerAbstractPropertyHooks for abstract contracts
- Register ZEND_ACC_ABSTRACT flag for abstract properties in PHP 8.4+
- Reorder code generation to declare interface properties before implementing classes
- Set abstract flag from hook metadata during parsing
- Add InterfaceDef::properties array to store abstract property contracts
- Create InterfacePropertyDef entity for interface property contract modeling
- Add InterfaceDef::hasProperty method for contract existence checking
- Validate interface property requirements during class implementation checks
- Add compile-time error handling for invalid interface property hook syntax
- Implement directional variance checking for interface property types
- Generate proper Zend metadata for abstract property hooks in PHP 8.4
- Add comprehensive tests for interface property hook contracts and errors
- Document interface property hook implementation design and usage patterns
|