6 Commits
Author SHA1 Message Date
Kamil Tekiela eef0f71aa7 ext/reflection: Make properties readonly (#24282) 2026-10-22 15:34:57 +01:00
Gina Peter Banyard 9e9445f742 ext/reflection: add namespace methods to ReflectionAttribute
Add the ReflectionAttribute::inNamespace(), ReflectionAttribute::getNamespaceName(), and ReflectionAttribute::getShortName() methods.

Closes GH-19556
2026-07-30 21:15:35 +01:00
d0852d54ba [RFC] Add DocComments for function parameters (#21279)
RFC: https://wiki.php.net/rfc/parameter-doccomments

---------

Co-authored-by: Christian Schneider <schneider@search.ch>
Co-authored-by: Tim Düsterhus <tim@tideways-gmbh.com>
Co-authored-by: Daniel Scherzer <daniel.e.scherzer@gmail.com>
2026-04-02 09:49:33 -07:00
Ilija Tovilo e4f727d61e Implement ReflectionProperty::is{Readable,Writable}()
RFC: https://wiki.php.net/rfc/isreadable-iswriteable

Fixes GH-15309
Fixes GH-16175
Closes GH-16209
2026-02-27 14:26:06 +01:00
Khaled Alam 0b4fbf2e70 ext/reflection: Add ReflectionConstant::inNamespace() method (#20902) 2026-02-16 21:28:32 -08:00
Arnaud Le Blanc d16e6f52a4 Generate C enums from internal enums, introduce Z_PARAM_ENUM() (#20917)
Update gen_stubs.php to generate C enums from internal enums, when the stub is annotated with @generate-c-enums. Enum values can be compared to the result of zend_enum_fetch_case_id(zend_object*).

The generated enums are added to separate files named {$extensionName}_decl.h, so that it's possible to include these from anywhere. _arginfo.h files would generate warnings if we tried to include them in a compilation unit that doesn't call the register_{$class} functions, for instance.

Introduce Z_PARAM_ENUM().

* Make ZEND_AST_CONST_ENUM_INIT a 4-children node

* Store enum case id in ZEND_AST_CONST_ENUM_INIT

* Store enum case id in instance

* Expose enum case_id internally

* Generate C enum for internal enums

* Introduce Z_PARAM_ENUM()

* Port extensions
2026-02-03 12:38:04 +01:00