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

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

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

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

🎁 Yii Mailer Library 5.1

• В MessageFactory добавлена возможность указать значение по умолчанию для поля "from".

• Минимальная версия PHP поднята до ^8.1.

• Поддерживаемая версия Yii View (yiisoft/view) поднята до ^10.0.
👍3👾3👨‍💻1
#yiisoftMailer #МажорныйРелиз #Релиз

Существенно переработана абстракция для отправки сообщений электронной почты.

Теперь пакет ни от чего не зависит и, фактически, абстракция состоит из двух интерфейсов: MessageInterface (сообщение с методами для установки/получения значений) и MailerInterface (сервис для отправки сообщений с двумя методами: send и sendMultiple).


🎁 Yii Mailer 6.0

• Добавлены простые реализации мейлера NullMailer и StubMailer.

• В конфигурацию пакета добавлена настройка FileMailer.

• Добавлен класс HtmlToTextBodyConverter для преобразования HTML-содержимого письма в текстовое содержимое.

• Добавлено перечисление Priority, которое используется вместо числового значения приоритета.

• Изменён MessageInterface:
- добавлены методы getAttachments(), getEmbeddings(), getHeaders(), withAddedAttachments() и withAddedEmbeddings();
- переименован метод withEmbedded() в withEmbeddings();
- переименован метод withAttached() в withAttachments();
- в методы withEmbeddings() и withAttachments() добавлено возможность передавать несколько файлов;
- удалены методы compose(), withTemplate() и withLocale();
- удалены методы getError() и withError().

• Добавлен класс Messsage, реализующий MessageInterface.

• Удалены MessageFactoryInterface и MessageFactory. Вместо фабрики сообщения добавлен класс MessageSettings, который передаётся в мейлер и позволяет донастроить сообщение перед отправкой.

• Переработан абстрактный класс для создания мейлеров:
- класс переименован из Mailer в BaseMailer;
- удалены методы beforeSend() and afterSend();
- финализированы методы;
- зависимости помечены как только для чтения.

• Удалены классы MessageBodyRenderer и MessageBodyTemplate.

• Переработаны классы событий AfterSend и BeforeSend:
- удалён метод getMessage();
- свойство $message сделано публичным и только для чтения;
- в BeforeSend удалена реализация StoppableEventInterface;
- в BeforeSend добавлено свойство $preventSendingMessage, позволяющее отменить отправку сообщения.

• Тип результата методов MessageInterface::with* изменён с self на static.

• Добавлен класс SendResults, который используется как результат выполнения метода MailerInterface::sendMultiple().

• Доработан текст сообщения в исключении, которое выбрасывается, когда callback для получения имени файла в FailMailer возвращает не строковое значение. Само исключение изменено с RuntimeException на LogicException.

• Удалена зависимость от yiisoft/view.

• Зависимость psr/event-dispatcher сделана опциональной.
👍51😱1👀1🤝1👾1
#yiisoftMailer #ПатчРелиз #Релиз

🎁 Yii Mailer 6.0.1

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

• Для опциональных nullable-параметров явно прописан тип с null для совместимости с PHP 8.4.
👍5👾1