Хроники Yii3
618 subscribers
43 photos
1.7K links
Описание процесса разработки фреймворка из первых рук 😎

Обсуждение:
https://t.iss.one/yii3ru

Сводка по всем пакетам:
https://www.yiiframework.com/status/3.0

Поддержать разработчиков:
https://opencollective.com/yiisoft
Download Telegram
#yiisoftValidator #МинорныйРелиз #Релиз

🎁 Yii Validator 2.2

• В правиле Each добавлен параметр stopOnError, который позволяет прекратить валидацию следующих элементов, если текущий элемент оказался невалидным.

• Ограничение версии PHP в composer.json изменено на ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0.

• Минимальная требуемая версия yiisoft/strings поднята до ^2.6.

• Небольшой рефакторинг с использованием возможностей, появившихся в PHP 8.1.

• Исправлена ошибка в правиле Email, которая возникала в граничном случае, когда используется IDN, пользовательское регулярное выражение и включена DNS-проверка.

• Исправлена ошибка, возникающая при обработке правила URL в PHP 8.4, когда валидируется пустая строка.

• Исправлена обработка хука для вложенных объектов, реализующих PostValidationHookInterface, когда используется правило Nested с заданными правилами.

• Исправлен русский перевод сообщения об ошибке для правила FilledAtLeast.
👍11👾1
#yiisoftYiiRunnerHttp #МинорныйРелиз #Релиз

🎁 Yii HTTP Runner 3.1

• В HttpApplicationRunner добавлен параметр $temporaryErrorHandler, а параметр $logger и метод withTemporaryErrorHandler() помечены устаревшими.

• Минимальная версия PHP повышена до 8.1 и выполнен соответствующий рефакторинг.

• Ограничение версии PHP в composer.json изменено на ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0.

• Для опциональных nullable-параметров явно прописан тип с null для совместимости с PHP 8.4.
👍7👾1
#yiisoftTestSupport #ПатчРелиз #Релиз

🎁 Yii Test Support 3.0.2

• Ограничение версии PHP в composer.json изменено на ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0.

• Для опциональных nullable-параметров явно прописан тип с null для совместимости с PHP 8.4.
👍5👾2
#yiisoftUser #МинорныйРелиз #Релиз

🎁 Yii User 2.3

• Добавлен метод аутентификации ApiAuth.

• Создана копия класса UserAuth с именем WebAuth, сам UserAuth помечен как устаревший.

• Доработано отладочное сообщение "Unable to authenticate user…" в LogginMiddleware.

• Ограничение версии PHP в composer.json изменено на ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0.

• Для опциональных nullable-параметров явно прописан тип с null для совместимости с PHP 8.4.
🔥8👾3
#yiisoftRouter #МажорныйРелиз #Релиз

🎁 Yii Router 4.0

• Изменён контракт UrlGeneratorInterface: при генерации URL все неиспользованные аргументы должны быть добавлены как query-параметры, если явно не задан query-параметр с таким же именем.

• В методах generate(), generateAbsolute() и generateFromCurrent() интерфейса UrlGeneratorInterface добавлен параметр $hash.

• Удален метод RouteCollectorInterface::addGroup(), вместо него предполагается использование метода addRoute().

• Удалена зависимость классов Route, Group и MatchingResult от диспетчера мидлварей.

• Уточнён psalm-тип для аргументов в UrlGeneratorInterface.

• Добавлен сборщик данных для Yii Debug.

• Явно отмечены свойства классов только для чтения.

• Минимальная версия PHP повышена до 8.1.

• Ограничение версии PHP в composer.json изменено на ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0.

• Для опциональных nullable-параметров явно прописан тип с null для совместимости с PHP 8.4.
1👍3👾2
#yiisoftRouterFastroute #МажорныйРелиз #Релиз

🎁 Yii Router FastRoute Adapter 4.0

• Пакет адаптирован к Yii Router 4.

• В конфигурацию пакета добавлены параметры host и scheme, которые используются при инициализации UrlGenerator.

• Встроенные функции PHP теперь вызываются в корневом пространстве имён, что в некоторых случаях даёт выигрыш по производительности.

• Минимальная версия PHP повышена до 8.1 и выполнен соответствующий рефакторинг.

• Ограничение версии PHP в composer.json изменено на 8.1 - 8.4.
👍7👾2
#yiisoftRouterFastroute #ПатчРелиз #Релиз

🎁 Yii Router FastRoute Adapter 4.0.1

• Исправлено: при генерации URL неиспользованные аргументы не добавлялись к query-параметрам.
👍5👾2
#yiisoftSecurity #МинорныйРелиз #Релиз

🎁 Yii Security 1.1

• Для параметров с чувствительными данными (пароли, хэши) добавлен атрибут #[SensitiveParameter].

• Явно отмечены свойства классов только для чтения.

• Минимальная версия PHP повышена до 8.1.

• Ограничение версии PHP в composer.json изменено на 8.1 - 8.4.

• Для опциональных nullable-параметров явно прописан тип с null для совместимости с PHP 8.4.
👍6👾3
#yiisoftDefinitions #МинорныйРелиз #Релиз

🎁 Yii Definitions 3.4

• Улучшена валидация дефинишенов для свойств «только для чтения» и свойств с ассиметричной видимостью.

• Встроенные функции PHP теперь вызываются в корневом пространстве имён, что в некоторых случаях даёт выигрыш по производительности.

• Удалено «лишнее» условие в DefinitionValidator::validate(), которое выполнялось всегда.

• Явно отмечены свойства классов только для чтения.

• Минимальная версия PHP повышена до 8.1.

• Ограничение версии PHP в composer.json изменено на ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0.

• Для опциональных nullable-параметров явно прописан тип с null для совместимости с PHP 8.4.
👍5👾1
#yiisoftSession #МажорныйРелиз #Релиз

🎁 Yii Session 3.0

• Параметры sid_length и sid_bits_per_character удалены из конфигурации сессии по умолчанию. Это изменение может повлиять на текущие сессии, подробнее в инструкции по обновлению.

• Класс SessionException помечен как финальный.

• Ограничение версии PHP в composer.json изменено на 8.0 - 8.4.

• Для опциональных nullable-параметров явно прописан тип с null для совместимости с PHP 8.4.
👍4👾1
#yiisoftCsrf #ПатчРелиз #Релиз

🎁 Yii CSRF Protection Library 2.2.1

• Добавлена поддержка yiisoft/session версии ^3.0.

• Ограничение версии PHP в composer.json изменено на ~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0.
👍5🔥1👾1
#yiisoftUser #ПатчРелиз #Релиз

🎁 Yii User 2.3.1

• Добавлена поддержка yiisoft/session версии ^3.0.
👍4👾1
#yiisoftAssets #МинорныйРелиз #Релиз

🎁 Yii Assets 5.1

• Удалён ненужный вызов array_filter в методе AssetUtil::extractFilePathsForExport().

• Ограничение версии PHP в composer.json изменено на 7.4.* || 8.0 - 8.4.

• Для опциональных nullable-параметров явно прописан тип с null для совместимости с PHP 8.4.

• Уточнены типы для Psalm.
👍4👾2
#yiisoftHydrator #МинорныйРелиз #Релиз

🎁 Yii Hydrator 1.6

• Добавлена возможность вложенного маппинга с помощью нового класса ObjectMap.

• Доработана psalm-аннотации метода HydratorInterface::create().

• Ограничение версии PHP в composer.json изменено на 8.1 - 8.4.
👍10👾2
#yiisoftView #МинорныйРелиз #Релиз

🎁 Yii View 12.1

• В методе ViewInterface::render() добавлена возможность использовать путь к представлению, начинающийся с ../ (родительская директория относительно текущего представления).

• Исправлено указание текущего представления в сообщении исключения, которое бросается когда используется относительный путь вне текущего представления.

• Ограничение версии PHP в composer.json изменено на 8.1 - 8.4.

• Для опциональных nullable-параметров явно прописан тип с null для совместимости с PHP 8.4.
👍6👾1
#yiisoftMailer #ПатчРелиз #Релиз

🎁 Yii Mailer 6.0.1

• Ограничение версии PHP в composer.json изменено на 8.1 - 8.4.

• Для опциональных nullable-параметров явно прописан тип с null для совместимости с PHP 8.4.
👍5👾1
#yiisoftForm #МинорныйРелиз #Релиз

🎁 Yii Form 1.4

• Доработано оформления поля Checkbox в теме "Bootstrap 5 Horizontal".

• При выводе поля Hidden игнорируется любой HTML, кроме самого тега <input>.

• Область видимости полей $beforeInput и $afterInput в классе PartsFeild изменена на protected.

• Ограничение версии PHP в composer.json изменено на 8.1 - 8.4.
👍3👾2
#yiisoftHtml #МинорныйРелиз #Релиз

🎁 Yii HTML 3.10

• В статических фабриках Button параметр $content сделан опциональным.

• В метод Select::value() разрешено передавать null.

• HTML атрибут loading теперь выводится перед src.

• Ограничение версии PHP в composer.json изменено на 8.1 - 8.4.

• Для опциональных nullable-параметров явно прописан тип с null для совместимости с PHP 8.4.
👍6👾1
#yiisoftRbac #МинорныйРелиз #Релиз

🎁 Yii Role-Based Access Control 2.1

• В классе Manager добавлена опциональная зависимость ClockInterface для получения текущего времени.

• Ограничение версии PHP в composer.json изменено на 8.1 - 8.4.

• Исправлена ошибка: в методе Manager::userHasPermission() не учитывались роли по умолчанию.
👍5👾1
🌿 #Полезное

Диёрбек Ибрагимов, один из участников сообщества Yii3, начал записывать серию видеоуроков по Yii3.

Но есть нюанс — уроки на узбекском языке.

В дальнейшем автор планирует добавить русские субтитры. Ну а пока для тех, кто знает узбекский: ⚡️ Плейлист на YouTube
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥31😁14👍52👾2
#yiisoftYiiBootstrap5 #ПервыйРелиз #МажорныйРелиз #Релиз

🎁 Yii Bootstrap 5 1.0.0

Первый стабильный релиз пакета с виджетами для Bootstrap 5:

• Accordion
• Alert
• Breadcrumbs
• Button
• Button Group
• Button Toolbar
• Carousel
• Collapse
• Dropdown
• Modal
• Nav
• NavBar
• Offcanvas
• Progress
• Progress Stack
• Toast

Пример виджета:

echo Carousel::widget()
->id('carouselExampleOnlyText')
->items(
CarouselItem::to(
Div::tag()
->addClass('bg-primary text-white p-5 text-center')
->addContent(
H2::tag()->content('Title 1'),
P::tag()->content('This is the first slide with text.'),
),
),
CarouselItem::to(
Div::tag()
->addClass('bg-success text-white p-5 text-center')
->addContent(
H2::tag()->content('Title 2'),
P::tag()->content('This is the second slide with text.'),
),
),
CarouselItem::to(
Div::tag()
->addClass('bg-danger text-white p-5 text-center')
->addContent(
H2::tag()->content('Title 3'),
P::tag()->content('This is the third slide with text.'),
),
),
);
👍15🔥11👾1