我是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());
}
}
}
?>
有什么问题?
答案 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样式。