W3cubDocs

/CakePHP 4.4

Class RuleInvoker

Contains logic for invoking an application rule.

Combined with {@link \Cake\Datasource\RulesChecker} as an implementation detail to de-duplicate rule decoration and provide cleaner separation of duties.

Namespace: Cake\Datasource

Property Summary

  • $name protected
    string|null

    The rule name

  • $options protected
    array<string, mixed>

    Rule options

  • $rule protected
    callable

    Rule callable

Method Summary

Method Detail

__construct() public

__construct(callable $rule, ?string $name, array<string, mixed> $options = [])

Constructor

Options

  • errorField The field errors should be set onto.
  • message The error message.

Individual rules may have additional options that can be set here. Any options will be passed into the rule as part of the rule $scope.

Parameters

callable $rule

The rule to be invoked.

?string $name

The name of the rule. Used in error messages.

array<string, mixed> $options optional

The options for the rule. See above.

__invoke() public

__invoke(Cake\Datasource\EntityInterface $entity, array $scope): bool

Invoke the rule.

Parameters

Cake\Datasource\EntityInterface $entity

The entity the rule should apply to.

array $scope

The rule's scope/options.

Returns

bool

setName() public

setName(string|null $name): $this

Set the rule name.

Only truthy names will be set.

Parameters

string|null $name

The name to set.

Returns

$this

setOptions() public

setOptions(array<string, mixed> $options): $this

Set options for the rule invocation.

Old options will be merged with the new ones.

Parameters

array<string, mixed> $options

The options to set.

Returns

$this

Property Detail

$name protected

The rule name

Type

string|null

$options protected

Rule options

Type

array<string, mixed>

$rule protected

Rule callable

Type

callable

© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.4/class-Cake.Datasource.RuleInvoker.html