Расширение контроллера шаблонов в Kohana - PullRequest
0 голосов
/ 21 августа 2009

Я немного запутался, пытаясь задним числом создать новый базовый контроллер для моего проекта. Если я не ошибаюсь, все, что мне нужно сделать, это создать файл в 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' не найден ...

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

Ответы [ 4 ]

2 голосов
/ 21 августа 2009

После некоторой путаницы, я думаю, что мое решение следующее ...

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

class baseController extends Template_Controller

в

class Base_Controller extends Template_Controller

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

0 голосов
/ 17 июля 2011

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

class Controller_Base extends Controller_Template
0 голосов
/ 15 сентября 2009

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

class Controller extends Controller_Core

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

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

0 голосов
/ 23 августа 2009

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

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

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

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