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