【问题标题】:codeigniter where to put email functionscodeigniter 在哪里放置电子邮件功能
【发布时间】:2012-09-23 20:25:13
【问题描述】:

假设我有一堆“电子邮件”功能——比如用户注册确认或密码恢复电子邮件,或通知更新电子邮件。我可以在哪里“放置”这些功能?我最初的想法是简单地将它们保存在控制器中,但我宁愿有一个共同的地方。然后我的想法是创建一个专门用于电子邮件的新控制器,但这打破了 MVC 模式,我的最后一个想法是扩展 email_helper.php 助手,但如果我这样做,我就不能做类似的事情

$this->email->to($email);

因为我收到一个错误,显示为

Fatal error: Using $this when not in object context in /Applications/XAMPP/xamppfiles/htdocs/elluminate/system/helpers/email_helper.php on line 71

【问题讨论】:

  • 我也有同样的问题。我正在使用 CI 3.10。你解决了吗?

标签: php oop codeigniter


【解决方案1】:

您正在尝试在静态方法或简单函数中使用$this$this 变量仅在您有对象时可用。


在 MVC 和受 MVC 启发的设计模式的上下文中,邮件系统本身将被视为service。服务是模型层的“上层”部分,由控制器和视图用于与模型层交互。它们有助于将域业务逻辑与表示层(控制器、视图、模板)隔离开来。

服务可以独立于其他模型结构(例如邮件系统),也可以控制domain objects 和不同存储抽象(data mappersrepositoriesunits of work 和/或data access objects)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-15
    • 1970-01-01
    • 1970-01-01
    • 2013-02-13
    • 1970-01-01
    • 2013-06-27
    相关资源
    最近更新 更多