<?php
/*
* 基本の構成
* メールの送信手段を変更する場合、都度NewsletterTransferを変更しなければならない
* つまり NewsletterTransfer が安定しない
*/
/**************************************************/
// Sendmailでメール送信
class SendmailMailer
{
public function send($body)
{
echo 'Sendmailで送信しました:' . $body . "\n";
}
}
// SMTPでメール送信
class SmtpMailer
{
public function send($body)
{
echo 'SMTPで送信しました:' . $body . "\n";
}
}
/**************************************************/
// ニュースレター送信
class NewsletterTransfer
{
protected $mailer;
public function __construct()
{
$this->mailer = new SendmailMailer();
//$this->mailer = new SmtpMailer();
}
public function send($message)
{
$this->mailer->send($message);
}
}
/**************************************************/
// 送信処理
$newsletter = new NewsletterTransfer();
$newsletter->send('今月のピックアップニュース');