Класс RulesChecker
Содержит логику для хранения и проверки правил на сущностях
RulesCheckers используются классами Table для обеспечения того, что текущее состояние сущности удовлетворяет логике приложения и бизнес-правилам.
RulesCheckers позволяют применять различные правила в сценариях создания и обновления.
Добавление правил
Правила должны быть вызываемыми объектами, которые возвращают true/false в зависимости от того, выполнено ли правило. Вы можете использовать RulesChecker::add(), RulesChecker::addCreate(), RulesChecker::addUpdate() и RulesChecker::addDelete для добавления правил в проверку.
Запуск проверок
Обычно объект Table будет вызывать объекты правил, но вы можете вручную вызвать проверки, вызвав RulesChecker::checkCreate(), RulesChecker::checkUpdate() или RulesChecker::checkDelete().
Прямые подклассы
Резюме констант
-
stringCREATE'create' -
stringDELETE'delete' -
stringUPDATE'update'
Резюме свойств
-
$_createRulesprotectedСписок правил для проверки во время созданияcallable[] -
$_deleteRulesprotectedСписок правил для проверки во время удаленияcallable[] -
$_optionsprotectedСписок опций для передачи каждому вызываемому правилуarray -
$_rulesprotectedСписок правил, которые проверяются при создании и обновленииcallable[] -
$_updateRulesprotectedСписок правил для проверки во время обновленияcallable[] -
$_useI18nprotectedИспользовать ли функции I18n для перевода сообщений об ошибках по умолчаниюboolean
Резюме методов
- __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()source public
__construct( array $options = [] )
Конструктор. Принимает опции, которые нужно передать всем правилам.
Параметры
- массив
$optionsнеобязательно [] - Опции для передачи каждому правилу
_addError()source protected
_addError( callable $rule , string $name , array $options )
Вспомогательный метод для декорирования любого вызываемого объекта, чтобы при возвращении false соответствующее свойство сущности отмечалось как недействительное.
Параметры
- вызываемый объект
$rule - Правило для декорирования
- строка
$name - Псевдоним правила.
- массив
$options - Опции, содержащие сообщение об ошибке и поле.
Возвращает
вызываемый объект_checkRules()source protected
_checkRules( Cake\Datasource\EntityInterface $entity , array $options = [] , array $rules = [] )
Используется функциями верхнего уровня checkDelete, checkCreate и checkUpdate. Эта функция перебирает массив, содержащий правила, которые нужно проверить, и проверяет их все.
Параметры
-
Cake\Datasource\EntityInterface$entity - Сущность для проверки на валидность.
- массив
$optionsнеобязательно [] - Дополнительные опции для передачи функциям проверки.
- массив
$rulesнеобязательно [] - Список правил, которые необходимо проверить.
Возвращает
булево значениеadd()source public
add( callable $rule , string|null $name = null , array $options = [] )
Добавляет правило, которое будет применяться к сущности при операциях создания и обновления.
Опции
Массив опций принимает следующие специальные ключи:
-
errorField: Имя поля сущности, которое будет отмечено как недействительное, если правило не выполнено. -
message: Сообщение об ошибке для установки вerrorFieldесли правило не выполнено.
Параметры
- вызываемый объект
$rule Вызываемая функция или объект, которые вернут, является ли сущность валидной или нет.
- строка|null
$nameнеобязательно null - Псевдоним правила.
- массив
$optionsнеобязательно [] Список дополнительных опций для передачи вызываемому правилу в качестве второго аргумента.
Возвращает
$this
addCreate()source public
addCreate( callable $rule , string|null $name = null , array $options = [] )
Добавляет правило, которое будет применяться к сущности при операциях создания.
Опции
Массив опций принимает следующие специальные ключи:
-
errorField: Имя поля сущности, которое будет отмечено как недействительное, если правило не выполнено. -
message: Сообщение об ошибке для установки вerrorFieldесли правило не выполнено.
Параметры
- вызываемый объект
$rule Вызываемая функция или объект, которые вернут, является ли сущность валидной или нет.
- строка|null
$nameнеобязательно null - Псевдоним правила.
- массив
$optionsнеобязательно [] Список дополнительных опций для передачи вызываемому правилу в качестве второго аргумента.
Возвращает
$this
addDelete()source public
addDelete( callable $rule , string|null $name = null , array $options = [] )
Добавляет правило, которое будет применяться к сущности при операциях удаления.
Параметры
Массив опций принимает следующие специальные ключи:
-
errorField: Имя поля сущности, которое будет помечено как некорректное, если правило не выполняется. -
message: Сообщение об ошибке, которое будет установлено дляerrorField, если правило не выполняется.
Параметры
- callable
$rule Вызываемая функция или объект, которые возвращают значение, указывая, является ли сущность валидной.
- string|null
$nameнеобязательно null - Псевдоним для правила.
- array
$optionsнеобязательно [] Список дополнительных опций, которые будут переданы вызываемой функции правила в качестве второго аргумента.
Возвращает
$this
addUpdate()source public
addUpdate( callable $rule , string|null $name = null , array $options = [] )
Добавляет правило, которое будет применяться к сущности при операциях обновления.
Параметры
Массив опций принимает следующие специальные ключи:
-
errorField: Имя поля сущности, которое будет помечено как некорректное, если правило не выполняется. -
message: Сообщение об ошибке, которое будет установлено дляerrorField, если правило не выполняется.
Параметры
- callable
$rule Вызываемая функция или объект, которые возвращают значение, указывая, является ли сущность валидной.
- string|null
$nameнеобязательно null - Псевдоним для правила.
- array
$optionsнеобязательно [] Список дополнительных опций, которые будут переданы вызываемой функции правила в качестве второго аргумента.
Возвращает
$this
check()source public
check( Cake\Datasource\EntityInterface $entity , string $mode , array $options = [] )
Выполняет каждое из правил, передавая предоставленную сущность, и возвращает true, если все они пройдены. Правила, которые будут применяться, зависят от параметра $mode, который может принимать только значения RulesChecker::CREATE, RulesChecker::UPDATE или RulesChecker::DELETE.
Параметры
-
Cake\Datasource\EntityInterface$entity - Сущность, для которой проверяется валидность.
- string
$mode - Значение 'create', 'update' или 'delete'.
- array
$optionsнеобязательно [] - Дополнительные параметры для передачи функциям проверяющего.
Возвращает
booleanВызывает исключение
InvalidArgumentExceptionЕсли передано недопустимое значение mode.
checkCreate()source public
checkCreate( Cake\Datasource\EntityInterface $entity , array $options = [] )
Выполняет каждое из правил, передавая предоставленную сущность, и возвращает true, если все они пройдены. Выбранные правила будут только теми, которые указаны для выполнения при 'создании'.
Параметры
-
Cake\Datasource\EntityInterface$entity - Сущность, для проверки валидности.
- array
$optionsнеобязательно [] - Дополнительные параметры для передачи функциям проверяющего.
Возвращает
booleancheckDelete()source public
checkDelete( Cake\Datasource\EntityInterface $entity , array $options = [] )
Выполняет каждое из правил, передавая предоставленную сущность, и возвращает true, если все они пройдены. Выбранные правила будут только теми, которые указаны для выполнения при 'удалении'.
Параметры
-
Cake\Datasource\EntityInterface$entity - Сущность, для проверки валидности.
- array
$optionsнеобязательно [] - Дополнительные параметры для передачи функциям проверяющего.
Возвращает
booleancheckUpdate()source public
checkUpdate( Cake\Datasource\EntityInterface $entity , array $options = [] )
Выполняет каждое из правил, передавая предоставленную сущность, и возвращает true, если все они пройдены. Выбранные правила будут только теми, которые указаны для выполнения при 'обновлении'.
Параметры
-
Cake\Datasource\EntityInterface$entity - Сущность, для проверки валидности.
- array
$optionsнеобязательно [] - Дополнительные параметры для передачи функциям проверяющего.
Возвращает
booleanПодробное описание свойств
$_createRulessource
protected callable[]
Список правил, которые проверяются при операциях создания.
[]
$_deleteRulessource
protected callable[]
Список правил, которые проверяются при операциях удаления.
[]
$_rulessource
protected callable[]
Список правил, которые проверяются как при операциях создания, так и при операциях обновления.
[]
$_updateRulessource
protected callable[]
Список правил, которые проверяются при операциях обновления.
[]
$_useI18nsource
protected boolean
Использовать ли функции I18n для перевода сообщений об ошибках по умолчанию?
false
© 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/3.7/class-Cake.Datasource.RulesChecker.html