Symfony1 如何让Symfony中的两个应用程序共享组件?

Symfony1 如何让Symfony中的两个应用程序共享组件?,symfony1,Symfony1,我在Symfony 1.2/Doctrine中有前端和管理应用程序,它们都可以生成电子邮件。我看到很多共享代码在两个应用程序之间发送电子邮件。如果我想将电子邮件整合到一个组件中,它将驻留在哪里?似乎不应该放在模型里。建议?编辑: 抱歉,我以为您也希望在应用程序之间共享电子邮件文本,即从不同的应用程序发送相同的电子邮件。无论如何,事件处理程序对您来说可能很有趣 最佳方法(即最干净的方法):创建一个自定义事件处理程序,侦听自定义事件并在适当的地方引发事件。更多关于 另一种方法:将电子邮件文本放入

我在Symfony 1.2/Doctrine中有前端和管理应用程序,它们都可以生成电子邮件。我看到很多共享代码在两个应用程序之间发送电子邮件。如果我想将电子邮件整合到一个组件中,它将驻留在哪里?似乎不应该放在模型里。建议?

编辑: 抱歉,我以为您也希望在应用程序之间共享电子邮件文本,即从不同的应用程序发送相同的电子邮件。无论如何,事件处理程序对您来说可能很有趣


最佳方法(即最干净的方法):创建一个自定义事件处理程序,侦听自定义事件并在适当的地方引发事件。更多关于


另一种方法:将电子邮件文本放入模板中。您也可以这样做,并使用共享模板文件夹。但是你必须复制发送电子邮件的逻辑

或者将发送电子邮件的文本和代码放入单独的类中,并将其放入全局lib文件夹


如果发送电子邮件不是业务逻辑而是某种通知,不要将其放入模型中。

在我的Symfony项目中,我发现在lib/with中使用email.class.php类是有意义的

<?php

class Email
{
  public static function sendEmail($body, $bodyTxt, $subject, $to, $replyto = null){
   ...
  }
}