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

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

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

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

В демо веб-приложения в консольных командах для создания пользователя и назначения ему роли добавлена проверка на наличие ID у пользователя (PR).

Спасибо Евгению Ткаченко за PR 👍
⚡️ #yiisoftStrings

В пакете Yii Strings исправлены ошибки psalm и улучшена конфигурация GitHub Workflow (PR):

- добавлен ежедневный запуск всех тестов;
- добавлен статический анализ в PHP 8.
⚡️ #yiisoftMailerSymfony

Реализовали Yii Mailer Symfony Extension, теперь в библиотеке Yii Mailer можно использовать Symfony Mailer для отправки писем (PR).
⚡️ #yiisoftInjector

В пакете Yii Injector исправлены ошибки psalm и улучшена конфигурация GitHub Workflow (PR):

- добавлен ежедневный запуск всех тестов;
- добавлен статический анализ в PHP 8.
⚡️ #yiisoftYiiDebug

Улучшена конфигурация пакета Yii Debug + финализирован класс Yiisoft\Yii\Debug\DebuggerIdGenerator (PR).
⚡️ #yiisoftYiiDevTool

В логе изменений сортировка строк, выполняемая в процессе работы команды release/make из Yii Development Tool, осуществляется в соответствии с соглашением о формате файлов changelog и upgrade (PR).
⚡️ Практически во всех пакетах добавлен ежедневный запуск тестов через GitHub Workflow.

#yiisoftCacheWincache #yiisoftView #yiisoftDi #yiisoftStrings #yiisoftRbacPhp #yiisoftYiiConsole #yiisoftCache #yiisoftDb #yiisoftRbac #yiisoftYiiAuthClient #yiisoftYiiGii #yiisoftViewTwig #yiisoftYiiWeb #yiisoftDbMssql #yiisoftDbOracle #yiisoftLog #yiisoftYiiDebug #yiisoftDbSqlite #yiisoftDbPgsql #yiisoftDbMysql #yiisoftEventDispatcher #yiisoftI18n #yiisoftYiiEvent #yiisoftYiiDbMigration #yiisoftValidator #yiisoftUser #yiisoftTranslatorMessageGettext #yiisoftSecurity #yiisoftMiddlewareDispatcher #yiisoftMutex #yiisoftNetworkUtilities #yiisoftProfiler #yiisoftProxy #yiisoftRequestBodyParser #yiisoftRouterFastroute #yiisoftInjector #yiisoftCacheApcu #yiisoftAuthJwt #yiisoftAuth #yiisoftAssets #yiisoftArrays #yiisoftAliases #yiisoftDemoApi #yiisoftDemo #yiisoftDataResponse #yiisoftData #yiisoftCsrf #yiisoftCookies #yiisoftConfig #yiisoftCacheMemcached #yiisoftCacheFile #yiisoftHttp #yiisoftHtml #yiisoftFiles #yiisoftFactory #yiisoftErrorHandler #yiisoftLogTargetDb #yiisoftLogTargetEmail #yiisoftLogTargetFile #yiisoftRequestModel #yiisoftRbacSpiralDb #yiisoftRateLimiter #yiisoftPackageTemplate #yiisoftMutexRedis #yiisoftMutexPdoPgsql #yiisoftMutexPdoOracle #yiisoftMutexFile #yiisoftMutexPdoMysql #yiisoftTranslatorFormatterSimple #yiisoftTranslatorFormatterIntl #yiisoftTranslatorExtractor #yiisoftTranslator #yiisoftTestSupport #yiisoftSession #yiisoftRouter #yiisoftRequirements #yiisoftTranslatorMessageDb #yiisoftTranslatorMessagePhp #yiisoftVarDumper #yiisoftWidget #yiisoftYiiBootstrap5 #yiisoftYiiBulma #yiisoftYiiCycle #yiisoftYiiDataview #yiisoftYiiDebugApi #yiisoftYiiDebugViewer #yiisoftMailerSwiftmailer #yiisoftMailer #yiisoftLogTargetSyslog #yiisoftJson #yiisoftForm #yiisoftYiiWidgets #yiisoftYiiView #yiisoftYiiSwagger #yiisoftYiiSentry
🎁 #yiisoftMailer #Релиз #МажорныйРелиз

Мажорный релиз Yii Mailer 3.0.0

В интерфейсе Yiisoft\Mailer\MessageInterface добавлены методы для получения и установки заголовков (PR):

MessageInterface::getDate()
Возвращает дату отправки сообщения или null, если она не задана.

MessageInterface::withDate()
Возвращает новый экземпляр сообщения с указанной датой отправки.

MessageInterface::getPriority()
Возвращает приоритет сообщения.

MessageInterface::withPriority()
Возвращает новый экземпляр сообщения с указанным приоритетом.

MessageInterface::getReturnPath()
Возвращает адрес возврата.

MessageInterface::withReturnPath()
Возвращает новый экземпляр сообщения с указанным адресом возврата,

MessageInterface::getSender()
Возвращает адрес отправителя.

MessageInterface::withSender()
Возвращает новый экземпляр сообщения с указанным адресом отправителя.

—————

🎁 #yiisoftMailerSwiftmailer #yiisoftLogTargetEmail

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

Yii Mailer Swiftmailer 3.0.0 — реализованы новые методы + добавлена нормализация адресов, возвращаемых методами getFrom(), getTo(), getCc() и getBcc() (PR).

Yii Logging Email Target 3.0.0 — обновлена мажорная версия зависимости yiisoft/mailer.

—————

⚡️ #yiisoftMailerSymfony

В пакете Yii Mailer Symfony также реализованы новые методы интерфейса Yiisoft\Mailer\MessageInterface (PR).

—————

⚡️ #yiisoftDocs

В документации информация о новых методах интерфейса добавлена в раздел Mailing (PR).

—————

Спасибо @batyrmastyr за идею расширения интерфейса 👍
#yiisoftDefinitions

Создан новый пакет Yii Definitions. Есть идея вынести сюда все дефинишены из Yii Factory. Это позволит в Yii Dependency Injection избавится от зависимости от фабрики. То есть фабрика и контейнер будут независимы друг от друга, но при этом оба будут использовать новый пакет.
⚡️#yiisoftDemo

В демо веб-приложения начата работа над backend-частью (PR).

Спасибо Евгению Ткаченко за PR 👍
🎁 #yiisoftLogTargetFile #yiisoftLogTargetEmail #yiisoftLogTargetSyslog #Релиз #ПатчРелиз

Патч-релиз целей логов для библиотеки Yii Logging:

- Yii Logging Email Target 3.0.1 (PR)
- Yii Logging Syslog Target 1.0.2 (PR)
- Yii Logging File Target 1.0.4 (PR)

Из пакетов удалена конфигурация интерфейса Psr\Log\LoggerInterface. Предполагается, что этот интерфейс должен определяться в приложении, где может использоваться одновременно несколько целей.

—————

⚡️ #yiisoftApp #yiisoftAppApi #yiisoftDemo #yiisoftDemoApi

В конфигурации приложений добавлен дефинишен для Psr\Log\LoggerInterface:

- шаблон веб-приложения (PR),
- шаблон API-приложения (PR),
- демо веб-приложения (PR),
- демо API-приложения (PR).
⚡️ #yiisoftInjector

В пакете Yii Injector добавлен бенчмарк, замеряющий скорость создания объекта (PR):

- без конструктора,
- с конструктором без аргументов,
- с конструктором с аргументами.
⚡️#yiisoftDemo

В демо веб-приложения вместо Yii Mailer Swiftmailer теперь используется Yii Mailer Symfony (PR).
⚡️ #yiisoftConfig

В пакете Yii Config исправлено несколько ошибок:

• Для файлов из окружений (environments) не применялась опция source-directory (PR);

• В случаях, когда для одной конфигурации указывалось несколько файлов, объединение выполнялось некорректно (PR).
⚡️ #yiisoftYiiDevTool

В Yii Development Tool добавлен пакет Yii Definitions (PR).
⚡️ #yiisoftDefinitions

В пакет Yii Definitions добавлены дефинишены и соответствующие тесты из Yii Factory (PR).
⚡️ #yiisoftValidator

В примерах использования валидаторов в readme пакета Yii Validator старый синтаксис создания валидатора изменён на актуальный с помощью статического метода rule() (PR).

Спасибо Евгению Ткаченко за PR 👍
⚡️ #yiisoftDocs

Заменили логотип Yii в документации на новый (PR).

Этот же файл логотипа отображается во всех пакетах Yii 3 в readme.
⚡️ #yiisoftDefinitions #yiisoftDi #yiisoftFactory

Хелперы ReferencesArray и DynamicReferencesArray перенесены из пакета Yii Dependency Injection (PR) в пакет Yii Definitions (PR).

В Yii Factory удалены дефинишены и классы для работы с ними, которые ранее были перенесены в Yii Definitions (PR).

—————

#yiisoftAssets #yiisoftYiiConsole #yiisoftCsrf #yiisoftDb #yiisoftForm #yiisoftMailerSwiftmailer #yiisoftMailerSymfony #yiisoftYiiQueue #yiisoftTranslator #yiisoftView #yiisoftWidget #yiisoftYiiBootstrap5 #yiisoftYiiDataview #yiisoftYiiDebug #yiisoftYiiDebugViewer #yiisoftYiiSwagger #yiisoftApp #yiisoftAppApi #yiisoftDemo #yiisoftDemoApi

Все пакеты и приложения, использующие дефинишены, переделаны на работу с пакетом Yii Definitions:

- Yii Assets (PR)
- Yii Bootstrap 5 (PR)
- Yii Console (PR)
- Yii CSRF (PR)
- Yii Data Widgets (PR)
- Yii DB (PR)
- Yii Debug (PR)
- Yii Debug Viewer (PR)
- Yii Form (PR)
- Yii Mailer Swiftmailer (PR)
- Yii Mailer Symfony (PR)
- Yii Message Translator (PR)
- Yii Queue (PR)
- Yii Swagger (commit)
- Yii View (PR)
- Yii Widget (PR)

- шаблон веб-приложения (PR),
- шаблон API-приложения (PR),
- демо веб-приложения (PR),
- демо API-приложения (PR).
⚡️ #yiisoftApp

Рефакторинг точек входа в шаблоне приложении Yii Application Template (PR).

• Код запуска консольного приложения вынесен из yii в новый класс ConsoleApplicationRunner.

• Класс для запуска веб-приложения переименован из ApplicationRunner в WebApplicationRunner.

• Для запуска bootstrap-кода создан класс BootstrapRunner.

• Прочие мелкие улучшения.
⚡️#yiisoftDemo

Небольшой рефакторинг точки входа в консоль в демо веб-приложения (PR).