codeigniter 2.0.3-Фатальная ошибка - PullRequest
       1

codeigniter 2.0.3-Фатальная ошибка

2 голосов
/ 09 сентября 2011

Я новичок в 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 ]

7 голосов
/ 09 сентября 2011

Измените определение класса на

class Email extends CI_Controller {

и в функции __construct

parent::CI_Controller();

В CodeIgniter 2 контроллером по умолчанию является CI_Controller, а моделью по умолчанию является CI_Model, тогда какв CodeIgniter 1 они были просто контроллером и моделью.

6 голосов
/ 09 сентября 2011

На самом деле parent::CI_Controller(); должно быть parent::__construct();.PHP будет фатальной ошибкой, если вы не используете PHP 5.1.x, который, как я полагаю, будет псевдонимом стиля PHP 4, если он отсутствует.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...