给出以下代码:
class EmailHander
{
public $mailer;
public function __construct()
{
$mailer = new PHPMailer();
}
public function getEmail ($name)
{
return new EmailTemplate ($name, $this);
}
}
class EmailTemplate
{
public $body, $subject, $handler;
public __construct ($name, EmailHander $handler)
{
require ($name.'.html');
$this->handler = $handler;
}
public function send ($target)
{
$this->handler->mailer->send ($target, ......);
}
}
有一个处理邮件者的EmailHandler
和许多代表邮件的EmailTemplates
。
$handler = new EmailHandler();
$email = $hander->getEmail ('subScribe');
$email->send('x@y.com');
但这可能是坏的。EmailHandler
生成EmailTemplate
。但是EmailTemplate
指的是EmailHandler
,所以这是一个循环,这是好还是坏?
这段代码中没有循环依赖。从电子邮件到它的处理器是单向依赖的;处理程序设置依赖关系并不重要。