[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Шаблонизатор
Reh
Доброго дня! Нашел в инете простенький шаблонизатор.
как я понял он включает буферизацию вывода подключает шаблон и сохраняет
данные из буфера в переменную. Подскажите так ли это и можно ли это использовать? или есть другие более лучшие решения?


public function display($template, $strip = true)
{
$this->_template = $this->_path . $template;
if (!file_exists($this->_template)) die('Шаблона ' . $this->_template . ' не существует!');

ob_start();
include($this->_template);
echo ($strip) ? $this->_strip(ob_get_clean()) : ob_get_clean();
}
Arh
Можно.

_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
Reh
спасибо
McLotos
Arh
А как же классическое "зачем нужен шаблонизатор, когда php - сам по себе шаблонизатор" и "нативный пых лучше таких велосипедов"? =)

_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
Arh
McLotos
я не из тех =)

_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
twin
Цитата (McLotos @ 26.12.2014 - 13:03)
Arh
А как же классическое "зачем нужен шаблонизатор, когда php - сам по себе шаблонизатор" и "нативный пых лучше таких велосипедов"? =)

Так а это и есть нативный шаблонизатор))) Раз через include.

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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Invis1ble
Цитата
die('Шаблона ' . $this->_template . ' не существует!');

еще одна гениальная разработка лучших отечественных умов
user posted image

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

McLotos
Invis1ble ++

_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
Arh
Invis1ble
McLotos
Хотя бы указываете что именно не так.

_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
mvg
Только собирался написать что на релизе die() не очень смотриться. Ходил такой себе классный посетитель, глупый и богатый, собираясь потратить горы бабла на покупку всей продукции фирмы ХХХ когда хлоп и белый экран - программист die() поставил на релизе...

По хорошему делается красивая 404.хтмл, а в нее шлется сообщение, но это рецепт от заграничных девелоперов :-)

или так можно.

<?php

/*
* Класс реализующий интерфейс вывода страницы
* html в браузер.
*/


namespace View;

class View {

private $view;

public $data;
public $filename;

function __construct($data = array()) {

$this->data = $data;

}

function getView( ) {

$this->filename = !empty($this->data['filename']) ? $this->data['filename'] : NULL;

ob_start();

$this->filename = empty($this->filename) ? dirname(__FILE__) . "index.php" : $this->filename;
include_once $this->filename;

$this->view = ob_get_clean();


}

function render() {

$this->getView();

if ($this->view) {
echo $this->view;
} else {
throw new Exception("Ошибка чтения шаблона");
}


}


}
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.