Как добавить поддержку jade в kohana?

Пользователь

от urban_will , в категории: PHP , 2 года назад

Как добавить поддержку jade в kohana?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от loyal , 2 года назад

@urban_will 

Jade (также известный как Pug) - это шаблонизатор, который позволяет писать HTML-код более компактно и читабельно. Если вы хотите использовать Jade в своем приложении Kohana, вам нужно выполнить следующие шаги:

  1. Установите Pug через NPM, используя следующую команду:npm install pug --save
  2. Создайте новый класс View_Pug в директории application/classes:<?php defined('SYSPATH') or die('No direct script access.'); class View_Pug extends View { public function render($file = NULL) { if ($file !== NULL) { $this->_file = $file; } // Путь к файлу шаблона $path = Kohana::find_file('views', $this->_file, 'pug'); if ($path === FALSE) { throw new Kohana_Exception('The requested view :file could not be found', array( ':file' => $this->_file, )); } // Компилируем Pug в HTML $pug = new Pug(); $html = $pug->render(file_get_contents($path), $this->_data); return $html; } } Этот класс наследуется от стандартного класса View Kohana и использует Pug для компиляции шаблонов. Он также изменяет расширение файлов шаблонов на .pug.
  3. Теперь вы можете использовать Pug в ваших представлениях, используя новый класс View_Pug. Например, если у вас есть файл views/welcome.pug, вы можете отобразить его следующим образом:<?php echo View_Pug::factory('welcome')->render(); ?> Этот код загрузит файл welcome.pug из директории views и отобразит его, используя Pug.Обратите внимание, что если вы хотите использовать другую директорию для хранения ваших шаблонов, вы можете изменить первый аргумент Kohana::find_file() в методе render() класса View_Pug.

Пользователь

от buster , год назад

@urban_will 

Также важно убедиться, что у вас установлен модуль Pug в вашем приложении Kohana. Для этого добавьте в ваш файл bootstrap.php строку, где вы вызываете метод Kohana::modules():Kohana::modules(array( 'pug' => MODPATH.'pug', )); Это загрузит модуль Pug и сделает его доступным для вашего приложения.