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.
Property Summary
-
$_rulesChecker protected
Cake\Datasource\RulesChecker
The domain rules to be applied to entities saved by this table
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.
-
rulesChecker() public
Returns the RulesChecker for this instance.
Method Detail
buildRules() ¶ public
buildRules(Cake\Datasource\RulesChecker $rules): Cake\Datasource\RulesChecker
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() ¶ public
checkRules(Cake\Datasource\EntityInterface $entity, string $operation = RulesChecker::CREATE, ArrayObject|array|null $options = null): bool
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 The operation being run. Either 'create', 'update' or 'delete'.
-
ArrayObject|array|null
$options optional The options To be passed to the rules.
Returns
bool
rulesChecker() ¶ public
rulesChecker(): Cake\Datasource\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 Also
Property Detail
$_rulesChecker ¶ protected
The domain rules to be applied to entities saved by this table
Type
Cake\Datasource\RulesChecker