Класс RulesChecker
Содержит логику для хранения и проверки правил на сущностях
RulesCheckers используются классами Table для обеспечения соответствия текущего состояния сущности логике приложения и правилам бизнеса.
RulesCheckers позволяют применять различные правила в сценариях создания и обновления.
Добавление правил
Правила должны быть вызываемыми объектами, возвращающими true/false в зависимости от того, выполнено ли правило. Вы можете использовать RulesChecker::add(), RulesChecker::addCreate(), RulesChecker::addUpdate() и RulesChecker::addDelete для добавления правил в проверяющий объект.
Выполнение проверок
В целом, объект Table будет вызывать объекты правил, но вы можете вручную вызвать проверки, вызвав RulesChecker::checkCreate(), RulesChecker::checkUpdate() или RulesChecker::checkDelete().
Прямые известные подклассы
Cake\ORM\RulesCheckerМетод Detail
__constructsource public
__construct( array $options [] )
Конструктор. Принимает параметры, которые будут переданы всем правилам.
Параметры
- массив
$optionsнеобязательно [] - Параметры, которые нужно передать каждому правилу
_addErrorsource protected
_addError( callable $rule , string $name , array $options )
Вспомогательный метод для оформления любого вызываемого объекта таким образом, что если он возвращает false, соответствующее свойство в сущности отмечается как недопустимое.
Параметры
- вызываемый объект
$rule - Правило для оформления
- строка
$name - Псевдоним правила.
- массив
$options - Параметры, содержащие сообщение об ошибке и поле.
Возвращает
callableвызываемый объект
_checkRulessource protected
_checkRules( Cake\Datasource\EntityInterface $entity , array $options [] , array $rules [] )
Используется верхнеуровневыми функциями checkDelete, checkCreate и checkUpdate, эта функция итерирует массив, содержащий правила, которые нужно проверить, и проверяет их все.
Параметры
-
Cake\Datasource\EntityInterface$entity - Сущность, которую нужно проверить на допустимость.
- массив
$optionsнеобязательно [] - Дополнительные параметры для передачи функциям проверки.
- массив
$rulesнеобязательно [] - Список правил, которые необходимо проверить.
Возвращает
booleanлогическое значение
addsource public
add( callable $rule , string $name null , array $options [] )
Добавляет правило, которое будет применяться к сущности как при операциях создания, так и при операциях обновления.
Параметры
Массив параметров принимает следующие специальные ключи:
-
errorField: Имя поля сущности, которое будет помечено как недопустимое, если правило не пройдёт. -
message: Сообщение об ошибке, которое будет установлено дляerrorFieldесли правило не пройдёт.
Параметры
- вызываемый объект
$rule - Вызываемая функция или объект, которые вернут, является ли сущность допустимой или нет.
- строка
$nameнеобязательно null - Псевдоним правила.
- массив
$optionsнеобязательно [] - Список дополнительных параметров, которые нужно передать вызываемому объекту правила в качестве второго аргумента.
Возвращает
mixed$this
addCreatesource public
addCreate( callable $rule , string $name null , array $options [] )
Добавляет правило, которое будет применяться к сущности при операциях создания.
Параметры
Массив параметров принимает следующие специальные ключи:
-
errorField: Имя поля сущности, которое будет помечено как недопустимое, если правило не пройдёт. -
message: Сообщение об ошибке, которое будет установлено дляerrorFieldесли правило не пройдёт.
Параметры
- вызываемый объект
$rule - Вызываемая функция или объект, которые вернут, является ли сущность допустимой или нет.
- строка
$nameнеобязательно null - Псевдоним правила.
- массив
$optionsнеобязательно [] - Список дополнительных параметров, которые нужно передать вызываемому объекту правила в качестве второго аргумента.
Возвращает
mixed$this
addDeletesource public
addDelete( callable $rule , string $name null , array $options [] )
Добавляет правило, которое будет применяться к сущности при операциях удаления.
Параметры
Массив параметров принимает следующие специальные ключи:
-
errorField: Имя поля сущности, которое будет помечено как недопустимое, если правило не пройдёт. -
message: Сообщение об ошибке, которое будет установлено дляerrorFieldесли правило не пройдёт.
Параметры
- вызываемый объект
$rule - Вызываемая функция или объект, которые вернут, является ли сущность допустимой или нет.
- строка
$nameнеобязательно null - Псевдоним правила.
- массив
$optionsнеобязательно [] - Список дополнительных параметров, которые нужно передать вызываемому объекту правила в качестве второго аргумента.
Возвращает
mixed$this
addUpdatesource public
addUpdate( callable $rule , string $name null , array $options [] )
Добавляет правило, которое будет применяться к сущности при операциях обновления.
Параметры
Массив параметров принимает следующие специальные ключи:
-
errorField: Имя поля сущности, которое будет помечено как недопустимое, если правило не пройдёт. -
message: Сообщение об ошибке, которое будет установлено дляerrorFieldесли правило не пройдёт.
Параметры
- вызываемый объект
$rule - Вызываемая функция или объект, которые вернут, является ли сущность допустимой или нет.
- строка
$nameнеобязательно null - Псевдоним правила.
- массив
$optionsнеобязательно [] - Список дополнительных параметров, которые нужно передать вызываемому объекту правила в качестве второго аргумента.
Возвращает
mixed$this
checksource public
check( Cake\Datasource\EntityInterface $entity , string $mode , array $options [] )
Выполняет каждое из правил, передавая предоставленную сущность, и возвращает true, если все они пройдут. Правила, которые нужно применить, зависят от параметра $mode, который может быть только RulesChecker::CREATE, RulesChecker::UPDATE или RulesChecker::DELETE
Параметры
-
Cake\Datasource\EntityInterface$entity - Сущность, которую нужно проверить на допустимость.
- строка
$mode - Либо 'create', 'update' или 'delete'.
- массив
$optionsнеобязательно [] - Дополнительные параметры для передачи функциям проверки.
Возвращает
booleanлогическое значение
Выбрасывает
InvalidArgumentExceptionесли передано недопустимое значение режима.
checkCreatesource public
checkCreate( Cake\Datasource\EntityInterface $entity , array $options [] )
Выполняет каждое из правил, передавая предоставленную сущность, и возвращает true, если все они пройдут. Выбранные правила будут только те, которые указаны для выполнения при 'создании'.
Параметры
-
Cake\Datasource\EntityInterface$entity - Сущность, которую нужно проверить на допустимость.
- массив
$optionsнеобязательно [] - Дополнительные параметры для передачи функциям проверки.
Возвращает
booleanлогическое значение
checkDeletesource public
checkDelete( Cake\Datasource\EntityInterface $entity , array $options [] )
Выполняет каждое из правил, передавая предоставленную сущность, и возвращает true, если все они пройдут. Выбранные правила будут только те, которые указаны для выполнения при 'удалении'.
Параметры
-
Cake\Datasource\EntityInterface$entity - Сущность, которую нужно проверить на допустимость.
- массив
$optionsнеобязательно [] - Дополнительные параметры для передачи функциям проверки.
Возвращает
booleanлогическое значение
checkUpdatesource public
checkUpdate( Cake\Datasource\EntityInterface $entity , array $options [] )
Выполняет каждую из правил, передавая предоставленную сущность и возвращает true, если все они пройдены. Выбранные правила будут только теми, которые указаны для выполнения при 'update'.
Параметры
-
Cake\Datasource\EntityInterface$entity - Сущность для проверки на валидность.
- массив
$optionsнеобязательно [] - Дополнительные параметры для передачи функциям проверки.
Возвращает
booleanbool
Краткое описание констант
string | CREATE Указывает, что правила проверки, которые необходимо применить, — это правила, используемые для создания сущностей. | 'create' |
string | DELETE Указывает, что правила проверки, которые необходимо применить, — это правила, используемые для удаления сущностей. | 'delete' |
string | UPDATE Указывает, что правила проверки, которые необходимо применить, — это правила, используемые для обновления сущностей. | 'update' |
Краткое описание свойств
© 2005–2016 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.
http://api.cakephp.org/3.1/class-Cake.Datasource.RulesChecker.html