Евгений Бунин

PHP, Kohana, Joomla, MySQL, MongoDB, Facebook API

  • Increase font size
  • Default font size
  • Decrease font size

Как подключить в Kohana JSON представление

Как подключить в Kohana JSON представления. При этом когда имеются также HTML представления.

Документация Представления в Kohana 3.2

Архитектура и логика работающая с подключением представления у меня следующая:
1. Основной контроллер, выполняющий общую работу приложения. Сюда же я включил логику подключения JSON представления(п. 3).
2. Шаблон для HTML представления.
3. А также шаблон для выдачи JSON результата.

Пишем в основной контроллер код отвечающий за подключение необходимого типа представления.

public function before() {
...
    $format = Arr::get($_POST, 'format', 'html');
    if ( $format == 'json' ) {
      $this->template = 'template/json';
    }
...
parent::before();
}
 

В JSON шаблон пишем:

if ( isset($content) ) {
  echo json_encode($content);
}
 

Теперь приложение умеет выдавать JSON результаты по команде format=json.
В контроллере пишем только:

  $response = array(
    'success' => true,
    'message' => 'Данные успешно сохранены.'
  );
  // Передаем ответ в шаблон
  $this->template->content = $response;
  return;