* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Notifier\Recipient; use Symfony\Component\Notifier\Exception\InvalidArgumentException; /** * @author Fabien Potencier * @author Jan Schädlich */ class Recipient implements EmailRecipientInterface, SmsRecipientInterface { use EmailRecipientTrait; use SmsRecipientTrait; public function __construct(string $email = '', string $phone = '') { if ('' === $email && '' === $phone) { throw new InvalidArgumentException(sprintf('"%s" needs an email or a phone but both cannot be empty.', static::class)); } $this->email = $email; $this->phone = $phone; } /** * @return $this */ public function email(string $email): static { $this->email = $email; return $this; } /** * Sets the phone number (no spaces, international code like in +3312345678). * * @return $this */ public function phone(string $phone): static { $this->phone = $phone; return $this; } }