Codeigniter, php5, Неустранимая ошибка: класс 'Controller' не найден - PullRequest
3 голосов
/ 03 сентября 2010

Неустранимая ошибка: класс 'Controller' не найден в <local_path>\system\application\controllers\welcome.php в строке 3

<?php

class Welcome extends Controller {

    function __construct()
    {
        parent::Controller();   
    }

    function index()
    {
        $this->load->view('welcome_message');
    }
}

/* End of file welcome.php */
/* Location: ./system/application/controllers/welcome.php */

Я новичок в php-фреймворках, просто извлек zip-файл CodeIgniter и попытался запустить контроллер welcome.php в студии Aptana. (PHP 5)

Ответы [ 5 ]

4 голосов
/ 15 августа 2011

Нет необходимости определять конструктор класса. Это код для платформы codeigniter 2.0 или более поздней версии.

class Welcome extends CI_Controller {

    public function index()
    {
        $this->load->view('welcome_message');
    }
}
2 голосов
/ 02 декабря 2011

Поскольку вы используете код для более старой версии CodeIgniter, используйте следующее:

class Hello extends CI_Controller
{
    var $name;
    var $color;
    function Hello()
    {
        parent :: __construct();
        $this->name = "Name";
        $this->color = "red";
    }
    function you()
    {
        $data["name"] = $this->name;
        $data["color"] = $this->color;
        $this->load->view("you_view", $data);
    }

}
2 голосов
/ 04 сентября 2010

проблема была в том, что я обращаюсь к этому файлу напрямую (например, как сказал 'treeface'), но использование этого маршрута приводит к тому, что страница не найдена?

127.0.0.1: 8000 / test_ci / index.php / радушны

затем я установил WAMP и использовал

локальный / test_ci / index.php / радушны

и это работает!
извините за неудобства!

1 голос
/ 31 января 2012

расширение CI_Controller вместо контроллера У меня была та же проблема с воспламенителем кода, прежде чем я переключился на CI_Controller

0 голосов
/ 04 сентября 2010

Кажется, у вас есть Codeigniter в другой папке, чем '/'.Если вы не измените BASEPATH или системный корневой каталог в index.php или config.php, это приведет к проблемам.

Проверьте строки 14-26 (?) В index.php на наличие «системы»переменная.

/*
|---------------------------------------------------------------
| SYSTEM FOLDER NAME
|---------------------------------------------------------------
|
| This variable must contain the name of your "system" folder.
| Include the path if the folder is not in the same  directory
| as this file.
|
| NO TRAILING SLASH!
|
*/
    $system_folder = "system";

Измените это, чтобы отразить путь к вашей системной папке, и CI обязательно найдет класс вашего контроллера.

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