给出这段代码:
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
,所以这是一个循环的东西,是好还是坏?
答案 0 :(得分:2)
此代码中没有循环依赖项。从电子邮件到其处理程序存在单向依赖关系;处理程序设置依赖关系并不重要。