codeigniter 2.0 Фатальная ошибка: класс 'Controller' не найден в - PullRequest
23 голосов
/ 31 января 2011

Я скачал новый codeigniter 2.0 и поместил свой контроллер, модель и просмотр файлов в новую установку codeigniter 2.0.но я получил эту ошибку

Неустранимая ошибка: класс 'Controller' не найден в /Applications/MAMP/htdocs/site/application/controllers/forside.php в строке 3

Что я делаю неправильно?это работает со старой версией codeigniter, но с новой .. Нет: S

Надеюсь, кто-нибудь может мне помочь

Ответы [ 5 ]

36 голосов
/ 31 января 2011

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

То же самое относится к моделям в CI2, которые расширяют класс CI_Modelзатем Model.

14 голосов
/ 31 января 2011

Я думаю, вы не расширяете контроллер, как показано ниже;

<?php
class MyOwnController extends CI_Controller {

    function index()
    {
        // your code here
    }
}
?>

Это написано на http://codeigniter.com/user_guide/general/controllers.html, Вы должны расширить CI_Controller

4 голосов
/ 10 мая 2012
class Student extends CI_Controller {

  function Student()   {
    parent::__construct(); 

    // load helpers
    $this->load->helper('url');
  }
}

Включая parent::__construct(); вместо parent::Controller();

4 голосов
/ 01 февраля 2011

Наряду с этим префиксом CI_ для вашего контроллера, любые базовые классы, которые вы расширяете, следует размещать в папке apps / core / . Это связано с тем, что основные классы CodeIgniter были перемещены в папку system / core / .

0 голосов
/ 12 марта 2014

Убедитесь, что имя контроллера соответствует префиксу, определенному в конфигурации:

По умолчанию в конфигурации есть:

$config['subclass_prefix'] = 'MY_';

Если ваш контроллер core/SomeController.php, он не будетнайдено потому что оно не начинается с MY_

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