Класс RulesChecker
Содержит логику хранения и проверки правил для сущностей
Классы RulesChecker используются классами Table для проверки соответствия текущего состояния сущности логике приложения и бизнес-правилам.
RulesChecker позволяют применять различные правила в сценариях создания и обновления.
Добавление правил
Правила должны быть вызываемыми объектами, возвращающими true/false в зависимости от того, выполнено ли правило. Вы можете использовать RulesChecker::add(), RulesChecker::addCreate(), RulesChecker::addUpdate() и RulesChecker::addDelete для добавления правил в проверку.
Выполнение проверок
Обычно объект Table вызовет правила, но вы можете вручную вызвать проверки, вызвав RulesChecker::checkCreate(), RulesChecker::checkUpdate() или RulesChecker::checkDelete().
Константы
-
stringCREATE'create'
Указывает, что правила проверки, которые необходимо применить, используются для создания сущностей
-
stringDELETE'delete'
Указывает, что правила проверки, которые необходимо применить, используются для удаления сущностей
-
stringUPDATE'update'
Указывает, что правила проверки, которые необходимо применить, используются для обновления сущностей
Резюме свойств
- $_createRules protected
Cake\Datasource\RuleInvoker[]Список правил для проверки во время операций создания
- $_deleteRules protected
Cake\Datasource\RuleInvoker[]Список правил для проверки во время операций удаления
- $_options protected
arrayСписок опций для передачи каждому вызываемому правилу
- $_rules protected
Cake\Datasource\RuleInvoker[]Список правил, которые проверяются как при создании, так и при обновлении
- $_updateRules protected
Cake\Datasource\RuleInvoker[]Список правил для проверки во время операций обновления
- $_useI18n protected
boolИспользовать ли функции I18n для перевода стандартных сообщений об ошибках
Резюме методов
-
__construct() public
Конструктор. Принимает опции, которые необходимо передать всем правилам.
-
_addError() protected
Вспомогательный метод для оформления любого вызываемого объекта, таким образом, что если он возвращает false, соответствующее свойство сущности помечается как недопустимое.
-
_checkRules() protected
Используется функциями верхнего уровня checkDelete, checkCreate и checkUpdate, эта функция перебирает массив, содержащий правила, которые необходимо проверить, и проверяет их все.
-
add() public
Добавляет правило, которое будет применяться к сущности как при создании, так и при обновлении.
-
addCreate() public
Добавляет правило, которое будет применяться к сущности при операциях создания.
-
addDelete() public
Добавляет правило, которое будет применяться к сущности при операциях удаления.
-
addUpdate() public
Добавляет правило, которое будет применяться к сущности при операциях обновления.
-
check() public
Выполняет каждое из правил, передавая предоставленную сущность, и возвращает true, если все они проходят. Применяемые правила зависят от параметра $mode, который может быть только RulesChecker::CREATE, RulesChecker::UPDATE или RulesChecker::DELETE
-
checkCreate() public
Выполняет каждое из правил, передавая предоставленную сущность, и возвращает true, если все они проходят. Выбранные правила будут только те, которые указаны для выполнения при 'создании'.
-
checkDelete() public
Выполняет каждое из правил, передавая предоставленную сущность, и возвращает true, если все они проходят. Выбранные правила будут только те, которые указаны для выполнения при 'удалении'.
-
checkUpdate() public
Выполняет каждое из правил, передавая предоставленную сущность, и возвращает true, если все они проходят. Выбранные правила будут только те, которые указаны для выполнения при 'обновлении'.
Краткое описание методов
__construct() public
__construct(array $options = [])
Конструктор. Принимает параметры, которые будут переданы всем правилам.
Parameters
-
array$options optional Параметры для передачи каждому правилу
_addError() protected
_addError(callable $rule, string|array|null $name = null, array $options = []): Cake\Datasource\RuleInvoker
Вспомогательный метод для декорирования любого вызываемого объекта, так что если он возвращает false, соответствующее свойство в сущности помечается как недействительное.
Parameters
-
callable$rule Правило для декорирования
-
string|array|null$name optional Псевдоним для правила или массив параметров
-
array$options optional Параметры, содержащие сообщение об ошибке и поле.
Returns
Cake\Datasource\RuleInvoker_checkRules() protected
_checkRules(Cake\Datasource\EntityInterface $entity, array $options = [], Cake\Datasource\RuleInvoker[] $rules = []): bool
Используется функциями верхнего уровня checkDelete, checkCreate и checkUpdate, эта функция итерирует массив, содержащий правила, которые необходимо проверить, и проверяет их все.
Parameters
-
Cake\Datasource\EntityInterface$entity Сущность для проверки на валидность.
-
array$options optional Дополнительные параметры для передачи функциям проверки.
-
Cake\Datasource\RuleInvoker[]$rules optional Список правил, которые должны быть проверены.
Returns
booladd() public
add(callable $rule, string|array|null $name = null, array $options = []): $this
Добавляет правило, которое будет применено к сущности как при операциях создания, так и обновления.
Options
Массив параметров принимает следующие специальные ключи:
-
errorField: Имя поля сущности, которое будет помечено как недействительное, если правило не пройдено. -
message: Сообщение об ошибке для установки вerrorFieldесли правило не пройдено.
Parameters
-
callable$rule Вызываемая функция или объект, которые вернут, является ли сущность валидной или нет.
-
string|array|null$name optional Псевдоним для правила или массив параметров.
-
array$options optional Список дополнительных параметров для передачи вызываемой функции правила во втором аргументе.
Returns
$thisaddCreate() public
addCreate(callable $rule, string|array|null $name = null, array $options = []): $this
Добавляет правило, которое будет применено к сущности при операциях создания.
Options
Массив параметров принимает следующие специальные ключи:
-
errorField: Имя поля сущности, которое будет помечено как недействительное, если правило не пройдено. -
message: Сообщение об ошибке для установки вerrorFieldесли правило не пройдено.
Parameters
-
callable$rule Вызываемая функция или объект, которые вернут, является ли сущность валидной или нет.
-
string|array|null$name optional Псевдоним для правила или массив параметров.
-
array$options optional Список дополнительных параметров для передачи вызываемой функции правила во втором аргументе.
Returns
$thisaddDelete() public
addDelete(callable $rule, string|array|null $name = null, array $options = []): $this
Добавляет правило, которое будет применено к сущности при операциях удаления.
Options
Массив параметров принимает следующие специальные ключи:
-
errorField: Имя поля сущности, которое будет помечено как недействительное, если правило не пройдено. -
message: Сообщение об ошибке для установки вerrorFieldесли правило не пройдено.
Parameters
-
callable$rule Вызываемая функция или объект, которые вернут, является ли сущность валидной или нет.
-
string|array|null$name optional Псевдоним для правила или массив параметров.
-
array$options optional Список дополнительных параметров для передачи вызываемой функции правила во втором аргументе.
Returns
$thisaddUpdate() public
addUpdate(callable $rule, string|array|null $name = null, array $options = []): $this
Добавляет правило, которое будет применено к сущности при операциях обновления.
Options
Массив параметров принимает следующие специальные ключи:
-
errorField: Имя поля сущности, которое будет помечено как недействительное, если правило не пройдено. -
message: Сообщение об ошибке для установки вerrorFieldесли правило не пройдено.
Parameters
-
callable$rule Вызываемая функция или объект, которые вернут, является ли сущность валидной или нет.
-
string|array|null$name optional Псевдоним для правила или массив параметров.
-
array$options optional Список дополнительных параметров для передачи вызываемой функции правила во втором аргументе.
Returns
$thischeck() public
check(Cake\Datasource\EntityInterface $entity, string $mode, array $options = []): bool
Запускает каждое из правил, передавая предоставленную сущность, и возвращает true, если все они пройдены. Правила, которые будут применены, зависят от параметра $mode, который может быть только RulesChecker::CREATE, RulesChecker::UPDATE или RulesChecker::DELETE
Parameters
-
Cake\Datasource\EntityInterface$entity Сущность для проверки на валидность.
-
string$mode Либо 'create', 'update' или 'delete'.
-
array$options optional Дополнительные параметры для передачи функциям проверки.
Returns
boolThrows
InvalidArgumentExceptionесли передан неверный режим.
checkCreate() public
checkCreate(Cake\Datasource\EntityInterface $entity, array $options = []): bool
Запускает каждое из правил, передавая предоставленную сущность, и возвращает true, если все они пройдены. Выбранные правила будут только те, которые указаны для запуска при 'create'
Parameters
-
Cake\Datasource\EntityInterface$entity Сущность для проверки на валидность.
-
array$options optional Дополнительные параметры для передачи функциям проверки.
Returns
boolcheckDelete() public
checkDelete(Cake\Datasource\EntityInterface $entity, array $options = []): bool
Запускает каждое из правил, передавая предоставленную сущность, и возвращает true, если все они пройдены. Выбранные правила будут только те, которые указаны для запуска при 'delete'
Parameters
-
Cake\Datasource\EntityInterface$entity Сущность для проверки на валидность.
-
array$options optional Дополнительные параметры для передачи функциям проверки.
Returns
boolcheckUpdate() public
checkUpdate(Cake\Datasource\EntityInterface $entity, array $options = []): bool
Запускает каждое из правил, передавая предоставленную сущность, и возвращает true, если все они пройдены. Выбранные правила будут только те, которые указаны для запуска при 'update'
Parameters
-
Cake\Datasource\EntityInterface$entity Сущность для проверки на валидность.
-
array$options optional Дополнительные параметры для передачи функциям проверки.
Returns
boolПодробное описание свойств
$_createRules protected
Список правил проверки во время операций создания
Тип
Cake\Datasource\RuleInvoker[]$_deleteRules protected
Список правил проверки во время операций удаления
Тип
Cake\Datasource\RuleInvoker[]$_options protected
Список опций для передачи каждому вызываемому правилу
Тип
array$_rules protected
Список правил, которые проверяются как при создании, так и при обновлении
Тип
Cake\Datasource\RuleInvoker[]$_updateRules protected
Список правил проверки во время операций обновления
Тип
Cake\Datasource\RuleInvoker[]$_useI18n protected
Использовать ли функции I18n для перевода сообщений об ошибках по умолчанию
Тип
bool
© 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.2/class-Cake.Datasource.RulesChecker.html