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

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

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

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

В хелпере Yii Files добавили функции обратного вызова beforeCopy и afterCopy для методов FileHelper::copyFile() и FileHelper::copyDirectory() (PR).
⚡️ #yiisoftDb

В пакете Yii DB подняли версии зависимостей (PR):
- psr/log до ^2.0|^3.0,
- yiisoft/log до ^2.0,
- yiisoft/profiler до ^1.0.3.
⚡️ #yiisoftDb #yiisoftDbMssql #yiisoftDbMysql #yiisoftDbOracle #yiisoftDbPgsql #yiisoftDbSqlite

Несколько улучшений в Yii DB (PR):

- в интерфейсе ConnectionInterface заменили метод getDriverName() на getDriver(), который возвращает экземпляр PDODriverInterface;

- в классе Dsn добавили методы getDatabaseName(), getHost() и getPort().

Соответствующие изменения сделаны в пакетах:
- Yii DB MSSQL Server Extension (PR)
- Yii DB MySQL Extension (PR)
- Yii DB Oracle Extension (PR)
- Yii DB PostgreSQL Extension (PR)
- Yii DB SQLite Extension (PR)
⚡️ #yiisoftDbMysql

Исправили ошибку при экранировании строк в Yii DB MySQL Extension: теперь символ _ не экранируется (PR).
👍2
⚡️ #yiisoftCacheDb

Адаптировали Yii Cache DB Handler к последним изменениям в Yii DB (PR).
⚡️ #yiisoftProxy #yiisoftYiiDebug

Несколько улучшений в Yii Proxy (PR).

Добавлена возможность создавать прокси-объект для объектов без итерфейса:
- в классе ProxyManager метод createObjectProxyFromInterface() переименован в createObjectProxy();
- в классе ClassConfigFactory метод getInterfaceConfig() переименован в getClassConfig().

В классе MethodConfig из конструктора удалён параметр $hasReturnType и добавлен метод hasReturnType().

В классе ParameterConfig из конструктора удалён параметр $hasType и добавлен метод hasType().

Соответствующие изменения внесли в Yii Debug (PR).
👍2
⚡️ #yiisoftValidator

В пакете Yii Validator повышена версия dev-зависимости yiisoft/test-support до ^2.0 (PR).
⚡️ #yiisoftDb

В пакете Yii DB в трейте TestCommandTrait добавили тест команды batchInsert() (PR).
⚡️ #yiisoftMiddlewareDispatcher

В Yii Middleware Dispatcher добавили поддержку определения мидлварей с помощью массивов (array definition) из Yii Definitions (PR).

Теперь можно задавать мидлварь вот так:

[
'class' => MyMiddleware::class,
'__construct()' => [
'someVar' => 42,
],
]
⚡️ #yiisoftCacheDb

В пакете Yii Cache DB Handler подняли минимальную версию PHP до ^8.0 (PR) и сделали несколько улучшений (PR):

- удалили исключение \Yiisoft\Cache\Db\InvalidArgumentException;

- в случае неудачного получения/записи данных в БД теперь выбрасывается исключение CacheException;

- покрытие тестами увеличили до 97%;

- в конфигурации scrutinizer добавили запуск тестов для всех драйверов MySQL, MSSQL и Oracle;

- актуализировали readme.
⚡️ #yiisoftDemoApi

Несколько улучшений класса RestGroupFactory в демо API-приложения:

- шаблон ID объекта в роуте теперь НЕ добавляется для метода post (PR);

- для метода options в контроллере, который обрабатывается OPTIONS-запросы, теперь создаются маршруты как для ресурсов в целом, так и для конкретного ресурса по ID (PR).
⚡️ #yiisoftDb #yiisoftDbSqlite

В Yii DB заменили использование собственного Yiisoft\Db\AwareTrait\LoggerAwareTrait на Psr\Log\LoggerAwareTrait (PR) и немного поправили тесты в Yii DB SQLite Extension (PR).
⚡️ #yiisoftDb

В Yii DB перенесли метод getDriver() из ConnectionInterface в ConnectionPDOInterface (PR).
🌿 #Полезное

Именование классов и интерфейсов для получения экземпляра объекта по имени, Сергей Предводителев

Статья по мотивам обсуждения названия интерфейса для получения обработчиков правил в Yii Validator.
👍4
⚡️ #yiisoftRouter #yiisoftRouterFastroute

В роутере добавлена поддержка нескольких хостов:
- Yii Router (PR),
- Yii Router FastRoute Adapter (PR).

Пример:

Route::get('/')
->hosts(
'https://yiiframework.com/',
'https://yiiframework.ru/'
);
👍3
⚡️ #yiisoftDb

В пакете Yii DB в интерфейсе подключения к БД ConnectionInterface добавили метод getName() (PR).

Новый метод должен возвращать название подключения. В случае с PDO-подключениями — это название драйвера (mysql, oci и т . д.).
👍3
⚡️ #yiisoftYiiDbMigration

Адаптировали Yii DB Migration к последним изменениям в Yii DB (PR).
#yiisoftDi #МинорныйРелиз #Релиз

🎁 Yii Dependency Injection 1.1.0

• Минимальная версия psr/container повышена до ^1.1|^2.0 (PR).
⚡️ #yiisoftYiiDevTool

В Yii Development Tool исправили ошибку в команде release/make, появившуюся после перехода на symplify/git-wrapper (PR).

Кстати, symplify/git-wrapper тоже успел устареть. Теперь вместо него предлагается использовать пакет gitonomy/gitlib.
#yiisoftYiiEvent #ПатчРелиз #Релиз

🎁 Yii Event 1.0.3

• Добавлена поддержка psr/container версии ^2.0 (PR).