Trait RulesAwareTrait

A trait that allows a class to build and apply application. rules.

If the implementing class also implements EventAwareTrait, then events will be emitted when rules are checked.

The implementing class is expected to define the RULES_CLASS constant if they need to customize which class is used for rules objects.

Direct Users

Properties summary

Method Summary

  • buildRules() public
    Returns a RulesChecker object after modifying the one that was supplied.
  • checkRules() public

    Returns whether or not the passed entity complies with all the rules stored in the rules checker.

  • Returns the RulesChecker for this instance.

Method Detail

buildRules()source public

buildRules( Cake\Datasource\RulesChecker $rules )

Returns a RulesChecker object after modifying the one that was supplied.

Subclasses should override this method in order to initialize the rules to be applied to entities saved by this instance.

Parameters

Cake\Datasource\RulesChecker $rules
The rules object to be modified.

Returns

Cake\Datasource\RulesChecker

checkRules()source public

checkRules( Cake\Datasource\EntityInterface $entity , string $operation RulesChecker::CREATE , ArrayObject|array|null $options null )

Returns whether or not the passed entity complies with all the rules stored in the rules checker.

Parameters

Cake\Datasource\EntityInterface $entity
The entity to check for validity.
string $operation optional RulesChecker::CREATE
The operation being run. Either 'create', 'update' or 'delete'.
ArrayObject|array|null $options optional null
The options To be passed to the rules.

Returns

boolean

rulesChecker()source public

rulesChecker( )

Returns the RulesChecker for this instance.

A RulesChecker object is used to test an entity for validity on rules that may involve complex logic or data that needs to be fetched from relevant datasources.

Returns

Cake\Datasource\RulesChecker

See

Cake\Datasource\RulesChecker

Properties detail

$_rulesCheckersource

protected Cake\Datasource\RulesChecker

The domain rules to be applied to entities saved by this table

© 2005–2017 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/3.4/class-Cake.Datasource.RulesAwareTrait.html