Вопрос

У меня возникла небольшая путаница при попытке задним числом создать новый базовый контроллер для моего проекта.Если я не ошибаюсь, все, что мне нужно сделать, это создать файл в application/libraries называется MY_baseController.php содержащий следующее:

class baseController extends Template_Controller
{
  public function __construct()
  {
    parent::__construct();
  }
}

А затем переписать другие мои контроллеры, чтобы расширить baseController вместо Template_Controller:

class Frontpage_Controller extends Template_Controller

к

class Frontpage_Controller extends baseController

Однако когда я это делаю, доступ к Frontpage_Controller предупреждает меня, что:

Класс «baseController» не найден...

Что мне здесь не хватает?

Это было полезно?

Решение

После некоторых возни я думаю, что мое решение - следующее...

Двигаться MY_baseController.php от application/libraries и в application/controllers.Переименуйте его в base.php и измените следующую строку:

class baseController extends Template_Controller

в

class Base_Controller extends Template_Controller

Теперь в вашем контроллере Frontpage расширьте Base_Controller вместо baseController.

Другие советы

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

Кроме того, если вы хотите, чтобы ваша основная папка контроллера приложения была чистой, я бы предложил создать модуль Kohana специально для вашего приложения и поместить туда все ваши шаблоны и контроллеры расширений, чтобы держать их отдельно от ваших основных контроллеров.

Только не забудьте добавить модуль в свой конфигурационный файл!

Я знаю, что это старый вопрос, но я решил замолвить словечко.Вам просто нужно удалить префикс MY_ из имени файла, поскольку он действительно нужен вам только при расширении класса с суффиксом _Core в системной папке.Например, файл для

class Controller extends Controller_Core

будет называться MY_Controller.php.

В этом случае можно просто назвать файл baseController.php и поместить его в папку библиотек.

Без обид, но мне пришлось сильно удариться головой о компьютер, чтобы заставить его работать с Kohana 3.1.Наконец я понял, что синтаксис расширения контроллера шаблонов должен быть таким:

class Controller_Base extends Controller_Template
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top