codeigniter 2.0.3-致命错误

时间:2011-09-09 06:51:34

标签: php codeigniter

我是codeigniter的新手,我从其中一个教程中尝试了一课,但它引发了以下错误:

Class 'Controller' not found in 
C:\xampp\htdocs\CodeIgniter\application\controllers\email.php 
on line 3

我的代码:

<?php

class Email extends Controller{
    function __construct()
    {
        parent::Controller();
    }

    function index()
    {
        $config = Array(
            'protocol' => 'smtp',
            'smtp_host' => 'ssl://smtp.googlemail.com',
            'smtp_port' => 465,
            'username' => 'saveniroj@gmail.com',
            'password' => 'password' 
        );

        $this->load->library('email', $config);
        $this->email->set_newline("\r\n");

        $this->email->from('saveniroj@gmail.com', 'Niroj Shakya');
        $this->email->to('saveniroj@gmail.com');
        $this->email->subject('This is a test email');
        $this->email->message('Oops This is Great.');

        if($this->email->send())
        {
            echo 'Your email was sent, FOOL';       
        }

        else
        {
            show_error($this->email->print_debugger());
        }
    }
}   

?>

有什么问题?

2 个答案:

答案 0 :(得分:7)

将班级定义更改为

class Email extends CI_Controller {

并在__construct函数

parent::CI_Controller();

在CodeIgniter 2中,默认控制器是CI_Controller,默认模型是CI_Model,而在CodeIgniter 1中,它们只是控制器和模型。

答案 1 :(得分:6)

实际上parent::CI_Controller();必须是parent::__construct();。 PHP会出现致命错误,除非您使用的是PHP 5.1.x,如果它丢失了,我认为它将替换为PHP 4样式。