Latest PECL Releases:
- zephir_parser 2.5.0
### Added- Support the
readonlymodifier on class and trait properties:readonlyis a property modifier keyword that appears in the propertyvisibilitylist (e.g.public readonly int x), independent of position relative topublic/protected/privateand combining with every property type prefix (builtin,?type,<Class>cast and union). The parser only records the modifier; the typed / no-default / no-static rules are enforced by the compiler (zephir-lang/zephir#2614).
Changed
-
readonlyis now a reserved keyword; identifiers namedreadonlyare a syntax error.
- Support the
- phalcon 5.17.0
Full changelog can be found at: https://github.com/phalcon/cphalcon/blob/master/CHANGELOG-5.0.md - zephir_parser 2.4.0
### Added - Support union types on parameters and class/trait properties: a `type | type | ...` prefix (builtin scalars, `null`/`false`, and `<Class>` casts) is emitted as an ordered `data-types` member list. Parameters additionally carry `data-type: "variable"`; the single-type and single-cast forms are unchanged. Mirrors the union return-type syntax already accepted after `->` ([zephir-lang/zephir#2613](https://github.com/zephir-lang/zephir/issues/2613)). - zephir_parser 2.3.0
### Added - Support typed class and trait properties: a property may now carry a builtin type (`public array items`, `private int count`), a class type (`public <Response> response`), and an optional nullable marker (`protected ?string name`). The type prefix is emitted on the property node as a `data-type` string or a `<Class>` `cast` node, plus a `nullable` flag for `?type`, mirroring how parameters encode their types. Type prefixes combine with existing default values, `{ get, set }` shortcuts, docblocks and all-caps names ([zephir-lang/zephir#2608](https://github.com/zephir-lang/zephir/issues/2608)). - zephir_parser 2.2.0
### Added - Support the `::class` magic constant: `self::class`, `parent::class`, `static::class` and `ClassName::class` now parse into a `static-constant-access` node whose member value is `class`, which the compiler resolves to the fully-qualified class name ([zephir-lang/zephir#2527](https://github.com/zephir-lang/zephir/issues/2527)). - event 3.1.6
Fix PHP 8.6.0alpha2 build (patch by Remi Collet)




