What do you want?
Add support in the C-ABI extension system to register class modifiers such as final, abstract, and readonly.
Currently, the internal VM (ClassDef) already supports these flags and enforces them correctly, but the C-ABI (zphp_extension.h and extension.zig) does not provide any mechanism or flags to expose them when registering classes through register_class. We need a clean extension method (like a class_set_flags API function) to pass these modifiers from extensions without breaking ABI compatibility.
Why does it belong here?
This allows extensions written via the C-ABI to correctly define restricted, abstract, or readonly classes (similar to native PHP classes and internal zphp modules), ensuring proper object-oriented constraints and safety across extensions.
Alternatives considered
No response
What do you want?
Add support in the C-ABI extension system to register class modifiers such as final, abstract, and readonly.
Currently, the internal VM (
ClassDef) already supports these flags and enforces them correctly, but the C-ABI (zphp_extension.handextension.zig) does not provide any mechanism or flags to expose them when registering classes throughregister_class. We need a clean extension method (like aclass_set_flagsAPI function) to pass these modifiers from extensions without breaking ABI compatibility.Why does it belong here?
This allows extensions written via the C-ABI to correctly define restricted, abstract, or readonly classes (similar to native PHP classes and internal zphp modules), ensuring proper object-oriented constraints and safety across extensions.
Alternatives considered
No response