新功能
此版本中添加的所有新功能。任何最佳实践的更改。
邮件发送器接口、工厂和服务
- PR: https://github.com/joomla/joomla-cms/pull/40560
- 描述:提供了一个新的邮件发送器接口,允许扩展开发者实现自己的邮件发送器。通过 DI 容器提供相应的工厂来创建这些邮件发送器实例。提供了一个 Aware 特性(trait)和接口,MVC 类(或其他类)可以通过它轻松访问工厂。
以下代码片段展示了如何实现您自己的邮件发送器类和工厂
class MyMailer implements MailerInterface
{
// Implement the respective functions
}
class MyMailerFactory implements MailerFactoryInterface
{
public function createMailer(Registry $configuration = null): MailerInterface
{
return new MyMailer($configuration);
}
}
以下代码片段展示了如何访问邮件发送器工厂并从中创建一个邮件发送器对象
class MyModel extends BaseDatabaseModel implements MailerFactoryAwareInterface
{
use MailerFactoryAwareTrait;
public function sendMailToCustomer()
{
$mailer = $this->getMailerFactory()->createMailer();
$mailer->setSubject('Thanks for the purchase!');
$mailer->send();
}
}