PHP API: IR/Expr

Classes in the IR/Expr namespace.

Expr

Source: Expr.php

Base IR expression type.

Expression nodes model runtime-evaluated values used by nodes, actions, and effects.

Group: IR/Expr

Example

PHP

$expr = Expr::op('add', Expr::val(1), Expr::val(2));

Methods

val

PHP

public static function val(mixed $v): self

Create a literal-value expression.

Parameters

  • mixed $v Literal value.

Returns: self

read

PHP

public static function read(Atom $a): self

Create an atom-read expression.

Parameters

  • Atom $a Atom definition.

Returns: self

op

PHP

public static function op(string $name, Expr|int|float|string|bool $a, Expr|int|float|string|bool $b): self

Create a binary operation expression.

Parameters

  • string $name Operation name.
  • Expr|int|float|string|bool $a Left operand.
  • Expr|int|float|string|bool $b Right operand.

Returns: self

concat

PHP

public static function concat(Expr|string ...$parts): self

Create a string-concatenation expression.

Returns: self

ensure

PHP

public static function ensure(Expr|int|float|string|bool $x): Expr

Normalize scalar values into expression nodes.

Parameters

  • Expr|int|float|string|bool $x Input expression or scalar.

Returns: Expr

event

PHP

public static function event(string $path): self

Create an event-path expression.

Parameters

  • string $path Event payload path.

Returns: self

num

PHP

public static function num(Expr $x): self

Create a numeric-cast expression.

Parameters

  • Expr $x Input expression.

Returns: self

str

PHP

public static function str(Expr $x): self

Create a string-cast expression.

Parameters

  • Expr $x Input expression.

Returns: self

item

PHP

public static function item(string $path): self

Create a list-item expression path accessor.

Parameters

  • string $path Item path.

Returns: self

not

PHP

public static function not(self $x): self 

Create a logical-not expression.

Parameters

  • self $x Input expression.

Returns: self

ExprConcat

Source: ExprConcat.php

IR expression for string concatenation.

Evaluates all parts in order and concatenates the resulting values.

Group: IR/Expr

Example

PHP

$expr = new ExprConcat([Expr::val('Hello '), Expr::val('world')]);

Methods

__construct

PHP

public function __construct(public array $parts) 

Build a concat expression.

Parameters

  • array<int, Expr> $parts Expression parts.

collectAtoms

PHP

public function collectAtoms(callable $collect): void

Collect atom dependencies from concat parts.

Parameters

  • callable $collect Collector callback.

Returns: void

jsonSerialize

PHP

public function jsonSerialize(): mixed 

Encode this concat expression as runtime IR payload.

Returns: array<string, mixed>

ExprEvent

Source: ExprEvent.php

IR expression for reading values from event payloads.

Group: IR/Expr

Example

PHP

$expr = new ExprEvent('target.value');

Methods

__construct

PHP

public function __construct(public string $path) 

Build an event expression.

Parameters

  • string $path Event payload path.

jsonSerialize

PHP

public function jsonSerialize(): mixed 

Encode this event expression as runtime IR payload.

Returns: array<string, string>

ExprItem

Source: ExprItem.php

IR expression for reading values from repeat-item context.

Group: IR/Expr

Example

PHP

$expr = new ExprItem('id');

Methods

__construct

PHP

public function __construct(public string $path) 

Build an item expression.

Parameters

  • string $path Item context path.

jsonSerialize

PHP

public function jsonSerialize(): mixed 

Encode this item expression as runtime IR payload.

Returns: array<string, string>

ExprNot

Source: ExprNot.php

IR expression for logical negation.

Group: IR/Expr

Example

PHP

$expr = new ExprNot(Expr::val(true));

Methods

__construct

PHP

public function __construct(public Expr $x) 

Build a logical-not expression.

Parameters

  • Expr $x Input expression.

jsonSerialize

PHP

public function jsonSerialize(): mixed 

Encode this not expression as runtime IR payload.

Returns: array<string, mixed>

ExprNumCast

Source: ExprNumCast.php

IR expression for numeric casting.

Group: IR/Expr

Example

PHP

$expr = new ExprNumCast(Expr::val('42'));

Methods

__construct

PHP

public function __construct(public Expr $x) 

Build a numeric-cast expression.

Parameters

  • Expr $x Input expression.

jsonSerialize

PHP

public function jsonSerialize(): mixed 

Encode this numeric-cast expression as runtime IR payload.

Returns: array<string, mixed>

ExprOp

Source: ExprOp.php

IR expression for generic operations.

Stores operation name and up to three operands.

Group: IR/Expr

Example

PHP

$expr = new ExprOp('add', Expr::val(1), Expr::val(2));

Methods

__construct

PHP

public function __construct(string $name, ...$args)
    

Build an operation expression.

Parameters

  • string $name Operation name.

collectAtoms

PHP

public function collectAtoms(callable $collect): void

Collect atom dependencies from all operands.

Parameters

  • callable $collect Collector callback.

Returns: void

jsonSerialize

PHP

public function jsonSerialize(): array

Encode this operation expression as runtime IR payload.

Returns: array<string, mixed>

ExprParam

Source: ExprParam.php

IR expression for route path parameters.

Reads values from the current route parameter map.

Group: IR/Expr

Example

PHP

$expr = new ExprParam('id');

Methods

__construct

PHP

public function __construct(public string $name) 

Build a route-param expression.

Parameters

  • string $name Parameter name.

jsonSerialize

PHP

public function jsonSerialize(): mixed

Encode this route-param expression as runtime IR payload.

Returns: array<string, string>

ExprProp

Source: ExprProp.php

IR expression for reading component prop values.

Group: IR/Expr

Example

PHP

$expr = new ExprProp('title');

Methods

__construct

PHP

public function __construct(public string $name) 

Build a prop expression.

Parameters

  • string $name Prop name.

jsonSerialize

PHP

public function jsonSerialize(): mixed

Encode this prop expression as runtime IR payload.

Returns: array<string, string>

ExprQuery

Source: ExprQuery.php

IR expression for URL query parameters.

Reads values from the current route query map.

Group: IR/Expr

Example

PHP

$expr = new ExprQuery('q');

Methods

__construct

PHP

public function __construct(public string $name) 

Build a query-param expression.

Parameters

  • string $name Query key.

jsonSerialize

PHP

public function jsonSerialize(): mixed

Encode this query-param expression as runtime IR payload.

Returns: array<string, string>

ExprRead

Source: ExprRead.php

IR expression for reading atom values.

Group: IR/Expr

Example

PHP

$expr = new ExprRead($countAtom);

Methods

__construct

PHP

public function __construct(public Atom $a) 

Build an atom-read expression.

Parameters

  • Atom $a Atom definition.

collectAtoms

PHP

public function collectAtoms(callable $collect):void

Collect atom dependencies for this read expression.

Parameters

  • callable $collect Collector callback.

Returns: void

jsonSerialize

PHP

public function jsonSerialize(): mixed 

Encode this read expression as runtime IR payload.

Returns: array<string, string>

ExprStrCast

Source: ExprStrCast.php

IR expression for string casting.

Group: IR/Expr

Example

PHP

$expr = new ExprStrCast(Expr::val(42));

Methods

__construct

PHP

public function __construct(public Expr $x) 

Build a string-cast expression.

Parameters

  • Expr $x Input expression.

jsonSerialize

PHP

public function jsonSerialize(): mixed

Encode this string-cast expression as runtime IR payload.

Returns: array<string, mixed>

ExprStringify

Source: ExprStringify.php

IR expression for JSON stringification.

Group: IR/Expr

Example

PHP

$expr = new ExprStringify(Expr::val(['a' => 1]), 2);

Methods

__construct

PHP

public function __construct(
        public readonly mixed $value,
        public readonly int $space = 2
    ) 

Build a stringify expression.

Parameters

  • Expr|int|float|string|bool|null $value Value to stringify.
  • int $space Indentation spaces.

collectAtoms

PHP

public function collectAtoms(callable $collect): void

Collect atom dependencies from stringify input.

Parameters

  • callable $collect Collector callback.

Returns: void

jsonSerialize

PHP

public function jsonSerialize(): array

Encode this stringify expression as runtime IR payload.

Returns: array<string, mixed>

ExprVal

Source: ExprVal.php

IR expression for literal values.

Group: IR/Expr

Example

PHP

$expr = new ExprVal('hello');

Methods

__construct

PHP

public function __construct(public mixed $v) 

Build a literal-value expression.

Parameters

  • mixed $v Literal value.

collectAtoms

PHP

public function collectAtoms(callable $collect): void

Literal values have no atom dependencies.

Parameters

  • callable $collect Collector callback.

Returns: void

jsonSerialize

PHP

public function jsonSerialize(): mixed 

Encode this literal expression as runtime IR payload.

Returns: array<string, mixed>