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

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

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

Поддержать разработчиков:
https://opencollective.com/yiisoft
加入频道
⚡️ #yiisoftAppApi #yiisoftDemoApi

Обновили версии composer-зависимостей в шаблоне API-приложения (PR) и демо API-приложения (PR).
⚡️ #yiisoftDemo

В демо веб-приложения добавили перевод на индонезийский язык, а также добавили несколько новых строк для перевода (PR).
#yiisoftYiiConsole #ПатчРелиз #Релиз

🎁 Yii Console 1.1.1

• Добавлена поддержка symfony/event-dispatcher-contracts версии ^3.0 (PR).
⚡️ #yiisoftProxy #yiisoftYiiDebug

В пакете Yii Proxy добавили описаний в doc-блоки и readme, а также сделали небольшой рефакторинг (PR).

Yii Debug адаптировали к этим изменениям (PR).
#yiisoftFiles #МажорныйРелиз #Релиз

🎁 Yii Files 2.0.0

• Минимальная требуемая версия PHP поднята до ^8.0 (PR, PR).

• Добавлена возможность передавать RecursiveDirectoryIterator в FileHelper::lastModifiedTime() (PR).

• Добавлены функции обратного вызова beforeCopy и afterCopy для методов FileHelper::copyFile() и FileHelper::copyDirectory().

• Добавлен возврат результата и тип возвращаемый функцией обратного вызова передаваемой в set_error_handler().
❤‍🔥6
⚡️ #yiisoftAssets

В пакете Yii Assets подняли минимальную версию PHP до ^8.0 и изменили логику генерации хэша при публикации ресурсов, теперь к времени последнего изменения ещё добавляется количество файлов (PR).
⚡️ #yiisoftTranslator

В Yii Message Translator добавили поддержку yiisoft/files версии ^2.0 (PR).
🍤 #Задачи

Экспериментальная рубрика #Задачи. Будем здесь периодически выкладывать открытые тикеты с описанием того, что нужно сделать. Возможно, это поможет кому-то начать контрибьютить 😉

Недавно вышла вторая версия пакета Yii Files. Необходимо добавить поддержку этой версии в другие пакеты:

- yiisoft/yii-db-migration#133
- yiisoft/view#208
- yiisoft/profiler#49
- yiisoft/log-target-file#40

Сначала проверяем, используется ли в пакете функциональность, которая не имеет обратной совместимости с первой версией Yii Files и:
- если используется, то обновляем версию до ^2.0;
- если НЕ используется, то обновляем версию до ^1.0|^2.0.

Проверяем, чтобы проходили тесты. Если есть какие-то проблемы - исправляем.

Для зарелизенных пакетов не забываем добавить информацию в changelog.
🔥13👍1
⚡️ #yiisoftProxy

Продолжаем работу над Yii Proxy:
- добавили поддержку встроенных в PHP интерфейсов (PR);
- в ParameterConfig убрали свойство allowsNull (PR);
- добавили поддержку yiisoft/files версии ^2.0 (PR, PR).
⚡️ #yiisoftYiiDevTool

В Yii Development Tool исправили версию PHP в readme: пакет работает с PHP 8 и выше (commit).
⚡️ #yiisoftForm

В пакете Yii Form поле File теперь не выводит значение (всегда null), но при необходимости его можно задать с помощью метода value() (PR).
⚡️ #yiisoftProxy

Ещё несколько улучшений в Yii Proxy:
- добавили поддержку объектов с параметрами в конструкторе (PR);
- убрали сохранение и рендеринг интерфейсов, реализуемых классом (они нигде не используются), а также скорректировали обработку модификаторов методов интерфейса (PR);
- добавили тестов (PR).
⚡️ #yiisoftValidator

В Yii Validator в doc-блоке интерфейса RuleHandlerResolverInterface прописали возможные исключения RuleHandlerNotFoundException и RuleHandlerInterfaceNotImplementedException (PR).
⚡️ #yiisoftDemo

Изменили .gitignore в демо веб-приложения (PR):
- заменили /docker-compose.local.yml на /docker-compose.override.yml;
- добавили /config/.merge-plan.php (это только для демо, в реальных приложениях этот файл должен быть в GIT).
⚡️ #yiisoftHtml

В Yii HTML у класса тега form добавили методы для установки атрибута enctype (PR):
- enctypeApplicationXWwwFormUrlencoded(),
- enctypeMultipartFormData(),
- enctypeTextPlain().
⚡️ #yiisoftDbRedis

В Yii DB Redis Extension подняли минимальную версию PHP до ^8.0 и yiisoft/log до ^2.0 (PR).
⚡️ #yiisoftYiiDocker

В Yii Docker Image убрали поддержку PHP 7.4 (commit).
#yiisoftProxy #ПервыйРелиз #МажорныйРелиз #Релиз

🎁 Yii Proxy 1.0.0

Пакет позволяет создавать универсальные прокси для классов, то есть даёт возможность перехватывать все вызовы методов класса.

В Yii Debug проксирование объектов используется для сбора информации о вызовах методов в сервисах.
🎉12
⚡️ #yiisoftView

В Yii View добавили новый метод ViewInterface::withBasePath(), который позволяет задать корневую директорию с представлениями (PR).
#yiisoftHtml #МинорныйРелиз #Релиз

🎁 Yii HTML 2.5

• У класса тега form добавлены новые методы для установки атрибута enctype:
- enctypeApplicationXWwwFormUrlencoded(),
- enctypeMultipartFormData(),
- enctypeTextPlain().

• Добавлен метод Tag::addClass(), а метод Tag::class() помечен как устаревший (PR).

• Добавлены методы для добавления атрибутов (PR):
- Tag::addAttributes(),
- ButtonGroup::addButtonAttributes(),
- RadioList::addRadioAttributes(),
- RadioList::addIndividualInputAttributes(),
- CheckboxList::addCheckboxAttributes(),
- CheckboxList::addIndividualInputAttributes(),
- File::addUncheckInputAttributes(),
- Range::addOutputAttributes();
а существующие помечены как устаревшие:
- Tag::attributes(),
- ButtonGroup::buttonAttributes(),
- RadioList::radioAttributes(),
- RadioList::individualInputAttributes(),
- CheckboxList::checkboxAttributes(),
- CheckboxList::individualInputAttributes(),
- File::uncheckInputAttributes(),
- Range::outputAttributes().
👍6
#yiisoftProxy #ПатчРелиз #Релиз

🎁 Yii Proxy 1.0.1

• Возвращена имплементация прокси-классами интерфейсов основного класса (PR, PR).