🔥3😁1🎉1
#yiisoftStrings #МинорныйРелиз #Релиз
🎁 Yii Strings 2.1.0
• Добавлен метод
• Добавлен метод
🎁 Yii Strings 2.1.0
• Добавлен метод
StringHelper::parsePath()
для парсинга путей вида path.to.my.dream
с поддержкой произвольных разделителей и символа экранирования (PR).• Добавлен метод
Inflector::toSnakeCase()
, конвертирующий строку в "snake_case".🔥2
#yiisoftArrays #МинорныйРелиз #Релиз
🎁 Yii Arrays 2.1.0
• Для парсинга строковых путей в таких методах, как
🎁 Yii Arrays 2.1.0
• Для парсинга строковых путей в таких методах, как
ArrayHelper::getValueByPath()
, ArrayHelper::pathExists()
и так далее, теперь используется метод StringHelper::parsePath()
из Yii Strings, что добавило возможность экранирования символа разделителя с помощью обратного слэша (PR, PR).🔥3
⚡️ #yiisoftValidator
В Yii Validator добавили возможность упрощённой записи комбинации правил
Подробнее в readme.
В Yii Validator добавили возможность упрощённой записи комбинации правил
Nested
и Each
(PR). Например:$rule = new Nested([
'charts.*.points.*.coordinates.x' => [new Number(min: -10, max: 10)],
'charts.*.points.*.coordinates.y' => [new Number(min: -10, max: 10)],
'charts.*.points.*.rgb' => [
new Count(exactly: 3);
new Number(min: 0, max: 255),
]),
]);
Подробнее в readme.
🔥2
⚡️ #yiisoftValidator
В Yii Validator доработали логику валидации данных (PR).
• Правила валидации, передаваемые напрямую в метод
•
•
Теперь в конструктор передаётся объект и опционально второй параметр, который указывает параметры какой области видимости обрабатывать в объекте (по умолчанию,
Для объектов, реализующих
Для объектов, реализующих
• В зависимости от данных передаваемых в метод
- объекты, реализаующие
- прочие объекты — оборачиваются в
- массивы — оборачиваются в
- прочие данные — оборачиваются в
Таким образом, теперь для валидации объекта, в котором правила прописаны атрибутами к соответствующим свойствам, достаточно лишь передать его в метод
В Yii Validator доработали логику валидации данных (PR).
• Правила валидации, передаваемые напрямую в метод
Validator::validate()
всегда имеют приоритет над правилами, содержащимися в проверяемом объекте.•
ScalarDataSet
переименован в MixedDataSet
. Метод MixedDataSet::getAttributeValue()
теперь всегда возвращает null
.•
AttributeDataSet
переименован в ObjectDataSet
и существенно переработан.Теперь в конструктор передаётся объект и опционально второй параметр, который указывает параметры какой области видимости обрабатывать в объекте (по умолчанию,
ReflectionProperty::IS_PRIVATE|ReflectionProperty::IS_PROTECTED|ReflectionProperty::IS_PUBLIC
). То есть появилась возможность обрабатывать не только публичные, но и защищённые, и приватные свойства объекта.Для объектов, реализующих
DataSetInterface
, свойства обрабатываться не будут, вместо этого будут вызываться соответствующие методы интерфейса.Для объектов, реализующих
RulesProviderInterface
, правила из атрибутов использоваться не будут, вместо этого будет вызываться метод getRules()
.• В зависимости от данных передаваемых в метод
validate()
они оборачиваются в соответствующий DataSet-класс:- объекты, реализаующие
DataSetInterface
, — не оборачиваются;- прочие объекты — оборачиваются в
ObjectDataSet
;- массивы — оборачиваются в
ArrayDataSet
;- прочие данные — оборачиваются в
MixedDataSet
.Таким образом, теперь для валидации объекта, в котором правила прописаны атрибутами к соответствующим свойствам, достаточно лишь передать его в метод
validate
:$result = $validator->validate($myObject);
🔥4
⚡️ #yiisoftValidator
В Yii Validator в сообщениях для правил
В Yii Validator в сообщениях для правил
IsTrue
и Boolean
для булевых значений теперь выводится true
и false
вместо 1
и 0
соответственно (PR).🔥2
⚡️ #yiisoftValidator
В Yii Validator добавили возможность с помощью функции обратного вызова определять, какое значение считать пустым (PR).
Функцию можно задать с помощью параметра
Из коробки доступно три класса, реализующих метод
•
•
•
В Yii Validator добавили возможность с помощью функции обратного вызова определять, какое значение считать пустым (PR).
Функцию можно задать с помощью параметра
skipOnEmptyCallback
как в конструкторе валидатора, так и в конкретном правиле.Из коробки доступно три класса, реализующих метод
__invoke
, то есть их можно использовать как функции обратного вызова:•
SkipOnEmpty
— пустыми считаются значения null
, []
и пустая строка;•
SkipOnNull
— пустыми считаются только значения null
;•
SkipNone
— никакое значение не считается пустым.🔥5
⚡️ #yiisoftProfiler
В Yii Profiler добавили интерфейс
В Yii Profiler добавили интерфейс
ProfilerAwareInterface
и трейт ProfilerAwareTrait
, позволяющий его реализовать (PR).⚡️ #yiisoftForm
Yii Form адаптировали к последним изменениям в валидаторе, сейчас код для сбора правил из атрибутов в модели формы происходит в самой форме (PR).
Yii Form адаптировали к последним изменениям в валидаторе, сейчас код для сбора правил из атрибутов в модели формы происходит в самой форме (PR).
🔥3
🔥1
⚡️ #yiisoftProfiler
В Yii Profiler улучшили документацию в части установки пакета (PR) и добавили недостающие строки в лог изменений (PR).
В Yii Profiler улучшили документацию в части установки пакета (PR) и добавили недостающие строки в лог изменений (PR).
👍3
#yiisoftProfiler #ПатчРелиз #Релиз
🎁 Yii Profiler 1.0.5
• Добавлен интерфейс
• Исправлено некорректное использование переменной
🎁 Yii Profiler 1.0.5
• Добавлен интерфейс
ProfilerAwareInterface
и трейт ProfilerAwareTrait
, позволяющий его реализовать.• Исправлено некорректное использование переменной
$params
в конфигурации пакета.🔥1
🔥1
⚡️ #yiisoftProfiler
Немного подчистили код в Yii Profiler и подняли минимальные версии зависимостей (PR):
- PHP до
-
-
Немного подчистили код в Yii Profiler и подняли минимальные версии зависимостей (PR):
- PHP до
^8.0
,-
psr/log
до ^2.0|^3.0
,-
yiisoft/files
до ^2.0
.🔥1
⚡️ #yiisoftValidator
В Yii Validator удалили атрибут
В
- массив (или iterable-объект) с правилами;
- имя класса, из атрибутов и свойств которого автоматически будет сформирован массив с правилами;
- объект, реализующий
Если в
В Yii Validator удалили атрибут
Embedded
, теперь его функцию выполняет правило Nested
(PR).В
Nested
можно передать в качестве правил:- массив (или iterable-объект) с правилами;
- имя класса, из атрибутов и свойств которого автоматически будет сформирован массив с правилами;
- объект, реализующий
RulesProviderInterface
.Если в
Nested
правила не передавать, то они будут автоматически получены из атрибутов свойств валидируемого объекта.🔥4
⚡️ #yiisoftValidator
Несколько улучшений в Yii Validator.
• Для правила
• Исправили проблему с некорректным путём ошибки, которая возникала в некоторых случаях при использовании правила
Несколько улучшений в Yii Validator.
• Для правила
Nested
разрешили использовать пустой массив при указании правил (PR).• Исправили проблему с некорректным путём ошибки, которая возникала в некоторых случаях при использовании правила
Nested
внутри Each
(PR).🔥3
⚡️ #yiisoftRbacCycleDb
Несколько изменений в пакете Yii RBAC Cycle Database Storage.
• Актуализировали конфигурацию scrutinizer, а в GitHub Actions перешли на использование Yii GitHub Actions (PR).
• Адаптировали пакет к последней версии Yii RBAC (PR).
Несколько изменений в пакете Yii RBAC Cycle Database Storage.
• Актуализировали конфигурацию scrutinizer, а в GitHub Actions перешли на использование Yii GitHub Actions (PR).
• Адаптировали пакет к последней версии Yii RBAC (PR).
🔥3
⚡️ #yiisoftValidator
В Yii Validator внесли несколько улучшений, касающихся пропуска правил для пустых значений (PR).
• Объединили свойства
• Выделили в отдельный интерфейс
• Поправили поведение валидатора: теперь
В Yii Validator внесли несколько улучшений, касающихся пропуска правил для пустых значений (PR).
• Объединили свойства
skipOnEmpty
и skipOnEmptyCallback
.• Выделили в отдельный интерфейс
SkipOnEmptyInterface
и сделали соответствующий трейт.• Поправили поведение валидатора: теперь
skipOnEmpty
, указанный в валидаторе, устанавливается только для тех правил, в которых он не установлен явно.🔥4
⚡️ #yiisoftValidator
В Yii Validator в CI вернули запуск тестов с PHP без дополнительных расширений, который случайно удалили в одном из предыдущих PR (PR).
В Yii Validator в CI вернули запуск тестов с PHP без дополнительных расширений, который случайно удалили в одном из предыдущих PR (PR).
#yiisoftProfiler #МажорныйРелиз #Релиз
🎁 Yii Profiler 2.0.0
• Минимальная версия PHP увеличена до 8.0, выполнен рефакторинг с использованием нового синтаксиса.
• Подняты минимальные версии зависимостей:
-
-
🎁 Yii Profiler 2.0.0
• Минимальная версия PHP увеличена до 8.0, выполнен рефакторинг с использованием нового синтаксиса.
• Подняты минимальные версии зависимостей:
-
psr/log
до ^2.0|^3.0
;-
yiisoft/files
до ^2.0
.