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

Обсуждение:
https://yangx.top/yii3ru

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

Поддержать разработчиков:
https://opencollective.com/yiisoft
加入频道
#yiisoftView #МажорныйРелиз #Релиз

🎁 Yii View 9.0

• Добавлены методы для получения локали: View::getLocale() и WebView::getLocale().

• Добавлен иммутабельный метод ViewInterface::withTheme().

• Добавлены корректные типы в сигнатуре метода CachedContent::cache().

• Параметры $basePath и $eventDispatcher сделаны опциональными в конструкторах классов View и WebView.

• Добавлена возможность указать fallback-расширения для файлов шаблонов.

• Расширены возможности конфигурации: теперь через параметры можно задать рендерреры и расширение файла по умолчанию.

• Методы ViewInterface::withDefaultExtension() и ViewInterface::getDefaultExtension() помечены устаревшими в пользу withFallbackExtension() и getFallbackExtensions() соответственно.

• Исправлен сброс состояния объектов View и WebView между запросами в долгоживущих приложениях (не восстанавливались параметры по умолчанию).

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

• Для параметра $value в методах ViewInterface::setParameter() и ViewInterface::addToParameter() указан тип mixed.
👍122🔥2👾2❤‍🔥1
#yiisoftView #МажорныйРелиз #Релиз

🎁 Yii View 10.0

• Изменена логика поиска шаблона представления в ViewInterface::render():

1) ./path — если строка начинается c ./, то ищем в директории текущего представления, если представления нет — бросаем исключение.

2) //path — если строка начинается с //, то ищем в базовой директории.

3) Если строка начинается с / (в *nix) или содержит : (в Windows), то используем строку как абсолютный путь.

4) В остальных случаях ищем либо в контексте (если задан), либо в базовой директории.

• Удалён метод ViewInterface::renderFile(), вместо него теперь используется ViewInterface::render().

• Исключение RuntimeException заменено на LogicException для случаев, когда ViewInterface::render() не может разобрать путь к представлению.
👍10👾1
#yiisoftView #МажорныйРелиз #Релиз

🎁 Yii View 11.0

• В методе ViewInterface::getParameter() добавлен variadic-параметр $default.

• Удалены устаревшие методы withDefaultExtension() и getDefaultExtension() из интерфейса ViewInterface.

• В конфигурации пакета параметр defaultExtension переименован в fallbackExtension.

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

• Улучшены psalm-типы результатов методов в классе WebView: getLinkTags(), getCss(), getCssFiles(), getJs() и getJsFiles().

• Исправлено некорректное поведение при использовании пустой строки или строки "0" в качестве ключа в методах WebView: registerCss(), registerStyleTag(), registerCssFile(), registerJs(), registerScriptTag() и registerJsFile().
4👍8
#yiisoftView #ПатчРелиз #Релиз

🎁 Yii View 11.0.1

• Зависимость psr/event-dispatcher сделана опциональной.
1👍7
#yiisoftView #МажорныйРелиз #Релиз

🎁 Yii View 12.0

• Добавлен метод ViewInterface::deepClone(), позволяющий клонировать объект вместе с состоянием (параметры, тема, локаль и т. д.). При обычном клонировании состояние остаётся общим для объектов.

• Добавлена возможность передавать null в методы withBasePath() и withContext() интерфейса ViewInterface.

• Добавлен сброс темы при вызове методов View::withClearedState() и WebView::withClearedState().
👍81👾1
#yiisoftView #МинорныйРелиз #Релиз

🎁 Yii View 12.1

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

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

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

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

🎁 Yii View 12.2

• Добавлена возможность передавать Stringable-объекты в метод WebView::setTitle().

• Исправлена ошибка, возникающая, если в конфигурации пакета в параметре yiisoft/view → theme → pathMap передать массив путей тем.
👍5👾3
#yiisoftView #ПатчРелиз #Релиз

🎁 Yii View 12.2.1

• В конфигурации пакета для параметра basePath добавлена возможность указывать значение null.
👍3👾1