我正在构建一个MVC应用程序(使用Zend Framework)。MVC:在哪里触发用户注册电子邮件
当用户第一次注册中应用程序发送一封电子邮件。我的问题是,我应该在哪里触发此电子邮件?模型还是控制器?我的想法如下:
在某些方面,模型是有意义的,因为发送注册电子邮件是我业务逻辑的一部分。用户必须点击邮件中的链接才能验证其电子邮件地址。
但是,把它在模型中,我是“拖累”的模型。模型的注册用户操作仅适用于需要为每次注册发送电子邮件的应用程序。
相反,通过控制器内触发的电子邮件,我的控制器将成为一个垃圾箱“胖”,但我的模型多一点“细粒”。
我写这实际上配置,并发送电子邮件中的电子邮件服务,我认为这是一个很好的设计决策。我真的只是问我应该从哪里调用此服务。
您的想法是非常感谢!
这不回答。问题即使OP决定使用你的产品,他仍然需要知道何时调用它 –
这是我的观点 - 。他不会需要调用它的总线(无论总线架构,他可能)将共同配置事件发生时会触发的事件,例如用户被插入到数据库中。这省略了手动触发电子邮件的必要。同样在我的第二次消解中,再也没有必要打电话了。该服务将负责查找从数据库发送的电子邮件。他可能需要在这种情况下,是一个自定义事件设置侦听新项目被插入到数据库中,并生成培训相关电子邮件到数据库 –
也许你是一个点超出了我的把握。然而,当你说“巴士...将配置一个事件”时,你似乎正在精确地描述OP引用的内容:时间/事件/动作/无论电子邮件服务应该被激活。如果电子邮件发件人是外部服务或内置在框架中,这并不重要;触发它的任务是一样的。至于你的第二点,外部服务是不必要的开销。 OP没有要求额外的电子邮件相关功能,所以为此配置一个监听器看起来像是矫枉过正。 –