【问题标题】:Own library to send email codeigniter自己的库来发送电子邮件 codeigniter
【发布时间】:2011-08-13 15:58:02
【问题描述】:

我在创建自己的库以发送电子邮件时遇到问题。 这是我的代码:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Send_email {

    private $CI;

    public function __construct() {
        $this->load->library('email');
            $this->CI =& get_instance();
        }

    public function signup($info, $lang) {

         $CI->email->to($info['email']); 
        ...
         $CI->email->send();
         return TRUE;
    }

    public function newsletter($info, $lang) {

         $CI->email->from('xxx@xxx.om', 'Newsletter');
        ...
         $CI->email->send();
         return TRUE;
    }

}

/* End of file Send_email.php */
/* Location: ./system/application/libraries/Send_email.php */

我得到错误:

消息:未定义的属性:Send_email::$load 文件名: library/Send_email.php 行号:9 致命错误:呼叫成员 非对象上的函数 library() ...

我试过$this-&gt;CI-&gt;load-&gt;library('email'); 但我得到了错误:

试图获取非对象的属性

似乎无法加载库...我想从构造器加载它,所以我不必在每个函数中都这样做。 如果我从每个函数中加载它,它工作得很好..

你能帮帮我吗? 谢谢!

【问题讨论】:

    标签: email codeigniter


    【解决方案1】:

    你需要先初始化$CI,然后再使用它来加载邮件库...

    public function __construct()
    {
        $this->CI =& get_instance();
        $this->CI->load->library('email');
    }
    

    【讨论】:

    • 我试过了,但还是一样...我找到了问题!如此愚蠢的错误:我不得不这样打电话:$this-&gt;CI-&gt;email-&gt;to 无论如何谢谢安东尼!
    • 是的,你所有的方法调用也需要这样进行。很高兴它已修复。
    猜你喜欢
    • 2018-12-08
    • 1970-01-01
    • 2015-09-06
    • 2013-01-07
    • 2019-08-07
    • 1970-01-01
    • 2016-11-02
    • 2013-12-02
    • 2012-12-16
    相关资源
    最近更新 更多