#yiisoftRequestProvider #МинорныйРелиз #Релиз
🎁 Yii Request Provider 1.1
• Добавлен класс
• В конфигурации пакета добавлен слушатель события
🎁 Yii Request Provider 1.1
• Добавлен класс
RequestCookies
, предоставляющий удобный доступ к кукам запроса.• В конфигурации пакета добавлен слушатель события
BeforeMiddleware
из Yii Middleware Dispatcher, который автоматически запоминает объект запроса.1👍3👾1
#yiisoftHtml #МинорныйРелиз #Релиз
🎁 Yii HTML 3.8
• Добавлена возможность обернуть элемент в произвольный тег в виджетах
-
-
-
-
-
-
-
-
• Добавлены методы
• Добавлен опциональный параметр
• Добавлен psalm-тип
• Добавлен psalm-тип
• Минимальная версия PHP поднята до 8.1.
🎁 Yii HTML 3.8
• Добавлена возможность обернуть элемент в произвольный тег в виджетах
CheckboxList
и RadioList
, для чего созданы методы:-
CheckboxList::checkboxWrapTag()
-
CheckboxList::checkboxWrapAttributes()
-
CheckboxList::checkboxWrapClass()
-
CheckboxList::addCheckboxWrapClass()
-
RadioList::radioWrapTag()
-
RadioList::radioWrapAttributes()
-
RadioList::radioWrapClass()
-
RadioList::addRadioWrapClass()
• Добавлены методы
CheckboxList::checkboxLabelWrap()
и RadioList::radioLabelWrap()
, позволяющие указать, нужно ли оборачивать поле тегом <label>
или разместить его сбоку.• Добавлен опциональный параметр
wrap
в методе BooleanInputTag::label()
, указывающий, нужно ли оборачивать поле тегом <label>
или разместить его сбоку.• Добавлен psalm-тип
non-empty-string
для результата метода Html::generateId()
.• Добавлен psalm-тип
non-empty-string|null
для параметра метода Tag::id()
.• Минимальная версия PHP поднята до 8.1.
1👍7🥱1👾1
#yiisoftForm #МинорныйРелиз #Релиз
🎁 Yii Form 1.3
• В виджете
-
-
-
-
-
• В виджете
-
-
-
-
-
• Улучшена HTML верстка виджетов
🎁 Yii Form 1.3
• В виджете
CheckboxList
добавлены методы:-
checkboxWrapTag()
,-
checkboxWrapAttributes()
,-
checkboxWrapClass()
,-
addCheckboxWrapClass()
,-
checkboxLabelWrap()
.• В виджете
RadioList
добавлены методы:-
radioWrapTag()
,-
radioWrapAttributes()
,-
radioWrapClass()
,-
addRadioWrapClass()
,-
radioLabelWrap()
.• Улучшена HTML верстка виджетов
CheckboxList
и RadioList
в темах Bootstrap 5.1👍7❤1👾1
#yiisoftActions #yiisoftQueue
⚡️Обновление GitHub Action для PHPBench
Добавили крутую фичу в экшен для бенчмарков! Теперь он автоматически сравнивает производительность кода в PR с мастер-веткой.
🔍 Что нового
- Экшен блокирует PR, если производительность ухудшилась
- По умолчанию используется сравнение
- Можно настроить свою функцию сравнения
🛠 Использование
Уже работает в репозитории
📃 Документация и примеры
- Исходный код
- Пример использования
- PR и детали реализации
⚡️Обновление GitHub Action для PHPBench
Добавили крутую фичу в экшен для бенчмарков! Теперь он автоматически сравнивает производительность кода в PR с мастер-веткой.
🔍 Что нового
- Экшен блокирует PR, если производительность ухудшилась
- По умолчанию используется сравнение
mode(variant.time.avg)
с допуском ±5%- Можно настроить свою функцию сравнения
🛠 Использование
Уже работает в репозитории
yiisoft/queue
, но можно использовать где угодно.📃 Документация и примеры
- Исходный код
- Пример использования
- PR и детали реализации
1👍11
#yiisoftCsrf #МинорныйРелиз #Релиз
🎁 Yii CSRF Protection Library 2.2
• Добавлена мидлварь
• Добавлена мидлварь
• Добавлен метод
🎁 Yii CSRF Protection Library 2.2
• Добавлена мидлварь
CsrfHeaderMiddleware
, предотвращающая межсайтовую подделку запроса путём проверки пользовательского заголовка запроса. Может использоваться для AJAX/API маршрутов. Подробнее тут. • Добавлена мидлварь
CsrfTokenMiddleware
, являющаяся копией CsrfMiddleware
. CsrfMiddleware
помечена устаревшей.• Добавлен метод
CsrfMiddleware::withSafeMethods()
, позволяющий указать, какие HTTP-методы считать безопасными. По умолчанию это GET
, HEAD
и OPTIONS
.1🔥4👍3❤1👾1
#yiisoftRequirements #МинорныйРелиз #Релиз
🎁 Yii Requirements Checker 1.1
• Добавлен метод
• Улучшена проверка корректности конфигурации.
• Улучшено оформление результатов.
🎁 Yii Requirements Checker 1.1
• Добавлен метод
RequirementsChecker::checkMaxExecutionTime()
для проверки соответствия значения опции max_execution_time
требуемому.• Улучшена проверка корректности конфигурации.
• Улучшено оформление результатов.
👍5👾2
#yiisoftDbMigration #МинорныйРелиз #Релиз
🎁 Yii DB Migration 1.2
• Заменено использование устаревших методов Yii DB на актуальные.
• Минимальная версия PHP поднята до 8.1 и выполнен соответствующий рефакторинг.
После этого релиза начинается работа над адаптацией пакета к грядущей мажорной версии Yii DB.
🎁 Yii DB Migration 1.2
• Заменено использование устаревших методов Yii DB на актуальные.
• Минимальная версия PHP поднята до 8.1 и выполнен соответствующий рефакторинг.
После этого релиза начинается работа над адаптацией пакета к грядущей мажорной версии Yii DB.
👍12👾1
#yiisoftHtml #МинорныйРелиз #Релиз
🎁 Yii HTML 3.9
• В методах
🎁 Yii HTML 3.9
• В методах
Html::addCssClass()
, Tag::addClass()
и Tag::class()
добавлена поддержка типизированных перечислений в качестве CSS классов.👍10❤2👾1
#yiisoftFactory #МинорныйРелиз #Релиз
🎁 Yii Factory 1.3
• Добавлена «строгая» фабрика
🎁 Yii Factory 1.3
• Добавлена «строгая» фабрика
StrictFactory
, которая позволяет создать экземпляры только тех объектов, для которых явно прописаны их определения (дефинишены).👍5👾1
#yiisoftAssets #МажорныйРелиз #Релиз
🎁 Yii Assets 5.0
• Добавлен метод
• Конфигурация
• Добавлен коллектор для
• Минимальная версия PHP поднята до версии 8.1 и выполнен соответствующий рефакторинг.
• Уточнены psalm-типы у свойств класса
• При попытке загрузить несуществующий бандл в
🎁 Yii Assets 5.0
• Добавлен метод
AssetManager::getUrl()
вместо метода getAssetUrl()
, который помечен как устаревший.• Конфигурация
di-web
переименована в di
, а также добавлена возможность установить паблишер в AssetManager
через параметры.• Добавлен коллектор для
yiisoft/yii-debug
.• Минимальная версия PHP поднята до версии 8.1 и выполнен соответствующий рефакторинг.
• Уточнены psalm-типы у свойств класса
AssetBundle
.• При попытке загрузить несуществующий бандл в
AssetManager
теперь бросается исключение.👍11👾1
#yiisoftDefinitions #ПатчРелиз #Релиз
🎁 Yii Definitions 3.3.1
• Исправлено некорректное разрешение
• Удален лишний код в
🎁 Yii Definitions 3.3.1
• Исправлено некорректное разрешение
ParameterDefinition
для опциональных параметров с объединёнными типами. Вместо значения по умолчанию, ранее всегда возвращался null
.• Удален лишний код в
DefinitionStorage
.👍5👾1
#yiisoftView #МажорныйРелиз #Релиз
🎁 Yii View 12.0
• Добавлен метод
• Добавлена возможность передавать
• Добавлен сброс темы при вызове методов
🎁 Yii View 12.0
• Добавлен метод
ViewInterface::deepClone()
, позволяющий клонировать объект вместе с состоянием (параметры, тема, локаль и т. д.). При обычном клонировании состояние остаётся общим для объектов.• Добавлена возможность передавать
null
в методы withBasePath()
и withContext()
интерфейса ViewInterface
.• Добавлен сброс темы при вызове методов
View::withClearedState()
и WebView::withClearedState()
.👍8⚡1👾1
🔥 #Новости
Мы подготовили дорожную карту Yii3.
🖼 Yii3 Roadmap
Карта показывает, что ещё осталось сделать до релиза. Документ планируется «живым» и будет обновляться по мере выполнения / детализации / изменения.
Мы подготовили дорожную карту Yii3.
Карта показывает, что ещё осталось сделать до релиза. Документ планируется «живым» и будет обновляться по мере выполнения / детализации / изменения.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11👏4🎄2👾1
#yiisoftYiiViewRenderer #yiisoftYiiView #МинорныйРелиз #Релиз
🎁 Yii View Renderer 7.3
• Добавлена поддержка
• Минимальная требуемая версия Yii View поднята до
• Исправлена проблема с протеканием стека при нескольких вызовах методов рендеринга во
🎁 Yii View Renderer 7.3
• Добавлена поддержка
CsrfTokenMiddleware
в CsrfViewInjection
.• Минимальная требуемая версия Yii View поднята до
^12
.• Исправлена проблема с протеканием стека при нескольких вызовах методов рендеринга во
ViewRenderer
.👍3👾1
#yiisoftTranslator #МинорныйРелиз #Релиз
🎁 Yii Message Translator 3.1
•
• Исправлено: использовалась некорректная локаль, когда категория переводов не задана и указана fallback-локаль.
• Для опциональных nullable-параметров явно прописан тип с
🎁 Yii Message Translator 3.1
•
SimpleMessageFormatter
теперь бросает исключение InvalidArgumentException
если в строке плюрализации пропущен ключ "one".• Исправлено: использовалась некорректная локаль, когда категория переводов не задана и указана fallback-локаль.
• Для опциональных nullable-параметров явно прописан тип с
null
для совместимости с PHP 8.4.👍3🎄3👾2
🔥 #Новости
Александр Макаров опубликовал новую статью на OpenCollective.
🖼 Yii News 2024
Итоги 2024 года для Yii1 / YIi2 / Yii3, изменения в команде и финансировании, релизы. Помимо новостей, статья также содержит большую подборку рекомендуемых для изучения статей.
Александр Макаров опубликовал новую статью на OpenCollective.
Итоги 2024 года для Yii1 / YIi2 / Yii3, изменения в команде и финансировании, релизы. Помимо новостей, статья также содержит большую подборку рекомендуемых для изучения статей.
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍13❤4🔥2👏1👾1
#yiisoftRequestProvider #МинорныйРелиз #Релиз
🎁 Yii Request Provider 1.2
• Добавлен класс
• Добавлен класс
• В
🎁 Yii Request Provider 1.2
• Добавлен класс
RequestHeaderProvider
предоставляющий удобный доступ к заголовкам запроса:class MyClass
{
public function __construct(
private \Yiisoft\RequestProvider\RequestHeaderProvider $headers
) {}
public function go(): void
{
$this->headers->has('X-Foo');
$this->headers->get('X-Foo');
$this->headers->getLine('X-Foo');
$this->headers->getAll();
$this->headers->getFirstHeaders();
}
}
• Добавлен класс
RequestCookieProvider
вместо существующего RequestCookies
, который помечен как устаревший.• В
RequestCookieProvider
и RequestCookies
обращение к объекту запроса происходит в момент вызова методов get()
/ has()
, а не в конструкторе, как было ранее.1👍12👾5
#yiisoftCacheFile #МинорныйРелиз #Релиз
🎁 Yii Cache File Handler 3.2
• Директория для хранения файлов кэша теперь создаётся только в момент сохранения кэша. Ранее корневая директория создавалась при создании класса
• После записи данных в кэш теперь сбрасывается кэш состояния файлов (см. clearstatcache()).
• Добавлена обработка состояния гонки при создание папки для файлов с кэшем.
• Для вложенных директорий теперь устанавливаются указанные в конфигурации права.
🎁 Yii Cache File Handler 3.2
• Директория для хранения файлов кэша теперь создаётся только в момент сохранения кэша. Ранее корневая директория создавалась при создании класса
FileCache
.• После записи данных в кэш теперь сбрасывается кэш состояния файлов (см. clearstatcache()).
• Добавлена обработка состояния гонки при создание папки для файлов с кэшем.
• Для вложенных директорий теперь устанавливаются указанные в конфигурации права.
👍5👾1
#yiisoftFormModel #ПервыйРелиз #МажорныйРелиз #Релиз
🎁 Yii File Router 1.0
Первая стабильная версия роутера, основанного на соглашении о размещении контроллеров в определённых пространствах имён (похоже на Yii2). Роутер представляет собой PSR-15 мидлварь и может использоваться как самостоятельно, так и совместно с другим роутером.
Пример структуры:
Работает это так:
•
•
•
•
•
Подробнее см. в документации.
🎁 Yii File Router 1.0
Первая стабильная версия роутера, основанного на соглашении о размещении контроллеров в определённых пространствах имён (похоже на Yii2). Роутер представляет собой PSR-15 мидлварь и может использоваться как самостоятельно, так и совместно с другим роутером.
Пример структуры:
src/
Controller/
User/
Profile/
IndexController.php
BlogController.php
UserController.php
IndexController.php
Работает это так:
•
GET /
→ IndexController::index()
•
GET /user
→ UserController::index()
•
POST /user
→ UserController::create()
•
GET /user/blog/view
→ User/BlogController::view()
•
GET /user/profile
→ User/Profile/IndexController::index()
Подробнее см. в документации.
👍17👾4🔥3❤1
#yiisoftStrings #МинорныйРелиз #Релиз
🎁 Yii Strings 2.5
• Добавлен метод
• Уточнён psalm-тип метода
🎁 Yii Strings 2.5
• Добавлен метод
StringHelper::matchAnyRegex()
, который фактически является фасадом для работы с классом CombinedRegexp
.• Уточнён psalm-тип метода
StringHelper::base64UrlEncode()
.👍9👾2
#yiisoftYiiConsole #МинорныйРелиз #Релиз
🎁 Yii Console 2.3
• Для команды
• В выводе команды
• Для опциональных nullable-параметров явно прописан тип с
🎁 Yii Console 2.3
• Для команды
serve
добавлена опция --open
, позволяющая запустить браузер по умолчанию после запуска сервера.• В выводе команды
serve
добавлена информация о доступных опциях команды.• Для опциональных nullable-параметров явно прописан тип с
null
для совместимости с PHP 8.4.👍8👏1👾1