pan daw an-ji shu/you xiang zhuan hua qi

将电子邮件地址标准化,以便与 symfony/mailer 库一起使用

1.0.2 2019-06-19 19:52 UTC

This package is auto-updated.

Last update: 2024-08-26 04:55:53 UTC


README

当使用新的 symfony/mailer 组件,尤其是在从 SwiftMailer 迁移时,重新组织电子邮件地址格式可能很繁琐。这个库旨在帮助开发者以预期的方式格式化电子邮件地址。

安装

$ composer require pandawan-technology/email-transformer

使用方法

单个地址

为了确保只有一个地址,您可以使用如下所示的 transformUnique 方法

<?php

use PandawanTechnology\EmailTransformer\EmailAddressTransformer;

class MyService 
{
    /**
     * @var EmailAddressTransformer 
     */
    private $emailAddressTransformer;
    
    public function __construct(EmailAddressTransformer $emailAddressTransformer) 
    {
        $this->emailAddressTransformer = $emailAddressTransformer;
    }
    
    public function __invoke($address) 
    {
        $address = $this->emailAddressTransformer->transformUnique($address);
        // Will output an (Named)Address instance depending on the provided input
    }
}

多个地址/未知数量

为了格式化电子邮件地址的集合(或未知数量),您可以使用如下所示的 transform 方法

<?php

use PandawanTechnology\EmailTransformer\EmailAddressTransformer;

class MyService 
{
    /**
     * @var EmailAddressTransformer 
     */
    private $emailAddressTransformer;
    
    public function __construct(EmailAddressTransformer $emailAddressTransformer) 
    {
        $this->emailAddressTransformer = $emailAddressTransformer
    }
    
    public function __invoke($addresses) 
    {
        $addresses = $this->emailAddressTransformer->transform($addresses);
        // Will output an (Named)Address array instance(s) depending on the provided input
    }
}

支持的情况

这些方法接受字符串、字符串数组、(命名)地址实例、(命名)地址实例数组和混合数组。要了解支持的输入的更好概述,您可以在 EmailAddressTransformerTest.php 测试类文件中找到它们。