Последовательность групп
класс GroupSequence реализует ArrayAccess, IteratorAggregate, Countable
Последовательность групп валидации.
При валидации последовательности групп каждая группа будет валидироваться только в том случае, если все предыдущие группы в последовательности успешно прошли валидацию. Например:
$validator->validate($address, null, new GroupSequence(array('Basic', 'Strict')));
На первом шаге будут валидироваться все ограничения, относящиеся к группе "Basic". Если ни одно из ограничений не потерпит неудачи, валидатор затем проверит ограничения в группе "Strict". Это полезно, например, если "Strict" содержит дорогостоящие проверки, требующие большого количества ЦП или медленных внешних сервисов. Обычно вы не хотите выполнять дорогостоящие проверки, если какие-либо из дешёвых проверок терпят неудачу.
При добавлении метаданных в класс вы можете переопределить группу "Default" этого класса с помощью последовательности групп:
/**
* @GroupSequence({"Address", "Strict"})
*\/
class Address
{
// ...
}
Всякий раз, когда вы валидируете этот объект в группе "Default", последовательность групп будет валидироваться:
$validator->validate($address);
Если вы хотите выполнить ограничения группы "Default" для класса с переопределенной группой по умолчанию, передайте имя класса в качестве имени группы:
$validator->validate($address, null, "Address")
Свойства
| массив строк|Последовательность групп[] | $groups | Группы в последовательности. | |
| строка|Последовательность групп | $cascadedGroup | Группа, в которой валидируются каскадные объекты при валидации этой последовательности. |
Методы
| __construct(массив $groups) Создает новую последовательность групп. | ||
| Traversable | getIterator() устаревший Возвращает итератор для этой группы. | |
| bool | offsetExists(int $offset) устаревший Возвращает, существует ли указанный смещение в последовательности. | |
| строка | offsetGet(int $offset) устаревший Возвращает группу по заданному смещению. | |
| offsetSet(int $offset, строка $value) устаревший Устанавливает группу по заданному смещению. | ||
| offsetUnset(int $offset) устаревший Удаляет группу по заданному смещению. | ||
| int | count() устаревший Возвращает количество групп в последовательности. |
Подробности
__construct(массив $groups)
Создает новую последовательность групп.
Параметры
| массив | $groups | Группы в последовательности |
Traversable getIterator() устаревший
устаревший
Возвращает итератор для этой группы.
Реализовано для обратной совместимости со Symfony < 2.5.
Возвращаемое значение
| Traversable | Итератор |
См. также
| \IteratorAggregate::getIterator() |
bool offsetExists(int $offset) устаревший
устаревший
Возвращает, существует ли указанный смещение в последовательности.
Реализовано для обратной совместимости со Symfony < 2.5.
Параметры
| int | $offset | Смещение |
Возвращаемое значение
| bool | Существует ли смещение |
строка offsetGet(int $offset) устаревший
устаревший
Возвращает группу по заданному смещению.
Реализовано для обратной совместимости со Symfony < 2.5.
Параметры
| int | $offset | Смещение |
Возвращаемое значение
| строка | Группа по заданному смещению |
Исключения
| OutOfBoundsException | Если объект не существует |
offsetSet(int $offset, строка $value) устаревший
устаревший
Устанавливает группу по заданному смещению.
Реализовано для обратной совместимости со Symfony < 2.5.
Параметры
| int | $offset | Смещение |
| строка | $value | Имя группы |
offsetUnset(int $offset) устаревший
устаревший
Удаляет группу по заданному смещению.
Реализовано для обратной совместимости со Symfony < 2.5.
Параметры
| int | $offset | Смещение |
int count() устаревший
устаревший
Возвращает количество групп в последовательности.
Реализовано для обратной совместимости со Symfony < 2.5.
Возвращаемое значение
| int | Количество групп |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/2.7/Symfony/Component/Validator/Constraints/GroupSequence.html