В любом случае, я предпочел использовать решение include_once, так как считаю, что лучше иметь один файл на класс, а My_app_controller находится в папке application / controllers / my_app. (так что application / controllers / other_apps будет существовать)

ого следовалстатья Фила Осетрины с практическими рекомендациями, чтобы расширить базовый контроллер. Но я получаю еще некоторые ошибки.

Мои 3 класса:

// application/libraries/MY_Controller.php
class MY_Controller extends Controller{
    public function __construct(){
        parent::__construct();
    }
}

// application/libraries/Public_Controller.php
class Public_Controller extends MY_Controller{
    public function __construct(){
        parent::__construct();

    }    
}

// application/controllers/user.php
class User extends Public_Controller{
    public function __construct(){
        parent::__construct();
    }
}

Неустранимая ошибка: класс 'Public_Controller' не найден в /srv/www/xxx/application/controllers/user.php в строке 2

Любопытно, что следующий фрагмент работает, если я напрямую простираюсь отMY_Controller:

// application/controllers/user.php
class User extends MY_Controller{
    public function __construct(){
        parent::__construct();
    }
}

Я загрузил контроллеры через__autoload() или вручную. Контроллеры загружены успешно.

CI-версия: 1.7.3

Ответы на вопрос(5)

Ваш ответ на вопрос