Looking for more information on how to do PHP the right way? Check out PHP: The Right Way

Community News:
Latest PECL Releases (07.21.2026)
Jul 21, 2026 @ 08:05:22

Latest PECL Releases:

  • zephir_parser 2.5.0
    ### Added

    • Support the readonly modifier on class and trait properties: readonly is a property modifier keyword that appears in the property visibility list (e.g. public readonly int x), independent of position relative to public/protected/private and 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

    • readonly is now a reserved keyword; identifiers named readonly are a syntax error.
  • 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)
tagged:

Link:


Trending Topics: