我有一个非常简单的模型。我想将发送电子邮件例程添加到模型的方法之一:
$this->Email->delivery = 'smtp';
$this->Email->template = 'default';
$this->Email->sendAs = 'text';
$this->Email->from = 'email';
$this->Email->to = 'email';
$this->Email->subject = 'Error';
我试过把
App::import('Component', 'Email');
在顶部,没有任何作用。我得到的错误是:
致命错误:在第 23 行调用 E:\xampp\htdocs8080\app\models\debug.php 中未定义的方法 stdClass::send()
有任何想法吗?
我正在运行 CakePHP 1.2
即使这不是最佳实践,您实际上可以在模型中使用 EmailComponent,但您需要实例化它(在模型中没有自动组件加载)并且需要向其传递一个控制器。 EmailComponent 依赖于 Controller,因为它需要与视图连接来呈现电子邮件模板和布局。
在你的模型中使用这样的方法
function sendEmail(&$controller) {
App::import('Component', 'Email');
$email = new EmailComponent();
$email->startup($controller);
}
您可以在控制器中使用它,如下所示:
$this->模型->sendEmail($this);
(如果您使用的是 PHP5,请省略方法签名中的 &)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)