|
Автор |
Сообщение |
den
Старожил
Зарегистрирован: 31.01.2006 Сообщения: 13870 Откуда: Кировоград, Украина
|
|
|
|
Цена для пользователей сайта 70 грн + доставка по Украине (15 грн) |
|
Вернуться к началу |
dhsilabs@jabber.ru |
|
|
Светозар
Участник тусовки
Зарегистрирован: 20.02.2010 Сообщения: 354 Откуда: Москва
|
|
|
|
Слушай, по Главе 36, в интернете я нашел на мой взгляд более простой вариант. тесты скорости неоднозначный...
Код: |
<?php
//начало скрипта PHP
class content {
//создадим класс, назовем его content
var $vars = array();
//создадим массив vars для хранения заменяемых переменных
var $content = '';
//создадим пустую переменную content
function set($name, $val) {
//функция set с передаваемыми значениями name и val
//name - что заменяем, val - на что заменяем
$this->vars[$name] = $val;
//вот, собственно, происходит присвоение переменных
}
//конец функции set
function design($tpl) {
// начало функции design с передаваемым значением tpl
//tpl - адрес нашего html-шаблона
$this->content = file_get_contents($tpl);
//получаем содержимое нашего html-шаблона
foreach($this->vars as $key => $val) {
//используем цикл
$this->content = str_replace($key, $val, $this->content);
//заменяем переменные на нашу информацию
}
//конец цикла
return $this->content;
//возвращаем полученный результат в виде html-страницы
}
//конец функции design
}
//конец класса content
?> |
что скажешь? Что лучше использовать..
а вот так index.php выглядит
Код: |
//подключаем файл нашего шаблонизатора
$main = new content();
//создаем класс в переменную main
$main->set('{TITLE}', 'MySITE');
//заменяем {TITLE} на MySITE в нашем шаблоне.
$main->set('{CONTENT}', 'Контент сайта.');
//заменяем {CONTENT} на Контент сайта. в нашем шаблоне.
echo $main->design('templates/default/index.tpl'); |
|
|
Вернуться к началу |
|
|
den
Старожил
Зарегистрирован: 31.01.2006 Сообщения: 13870 Откуда: Кировоград, Украина
|
|
|
|
Сделай тест загрузки страницы, потом посмотри, какой быстрее, тот и используй |
|
Вернуться к началу |
dhsilabs@jabber.ru |
|
|
Светозар
Участник тусовки
Зарегистрирован: 20.02.2010 Сообщения: 354 Откуда: Москва
|
|
|
|
просто со второй - я представляю как сделать модульность и API для разработки модулей, а с твоим нет (( |
|
Вернуться к началу |
|
|
den
Старожил
Зарегистрирован: 31.01.2006 Сообщения: 13870 Откуда: Кировоград, Украина
|
|
|
|
Никто ж не заставляет использовать мой Да и я не говорю, что это единственное правильное решение ) |
|
Вернуться к началу |
dhsilabs@jabber.ru |
|
|
Светозар
Участник тусовки
Зарегистрирован: 20.02.2010 Сообщения: 354 Откуда: Москва
|
|
|
|
Код: |
include_once ('templates/template.php');
//подключаем файл нашего шаблонизатора
$main = new zTemplates();
//создаем класс в переменную main
$main->set('{TITLE}', 'MySITE');
function menu() {
$menu = new zTemplates();
$menu->set('{menu}', 'Контент сайта.');
echo $menu->design('templates/default/menu.tpl');
}
$menu = menu();
$main->set('{menu}', $menu);
//заменяем {TITLE} на MySITE в нашем шаблоне.
$main->set('{CONTENT}', 'Контент сайта.');
//заменяем {CONTENT} на Контент сайта. в нашем шаблоне.
echo $main->design('templates/default/index.tpl');
//выводим результат 'templates/default/index.tpl' - это путь к html-шаблону |
возможно ли упростить код? |
|
Вернуться к началу |
|
|
den
Старожил
Зарегистрирован: 31.01.2006 Сообщения: 13870 Откуда: Кировоград, Украина
|
|
|
|
Что же тут упрощать, и так все просто. Можно menu() вынести в отдельный файл, строк станет чуть меньше |
|
Вернуться к началу |
dhsilabs@jabber.ru |
|
|
den
Старожил
Зарегистрирован: 31.01.2006 Сообщения: 13870 Откуда: Кировоград, Украина
|
|
|
|
Новая цена - 60 грн + доставка 15 грн. |
|
Вернуться к началу |
dhsilabs@jabber.ru |
|
|
den
Старожил
Зарегистрирован: 31.01.2006 Сообщения: 13870 Откуда: Кировоград, Украина
|
|
Вернуться к началу |
dhsilabs@jabber.ru |
|
|
den
Старожил
Зарегистрирован: 31.01.2006 Сообщения: 13870 Откуда: Кировоград, Украина
|
|
|
|
Пока еще есть в наличии! |
|
Вернуться к началу |
dhsilabs@jabber.ru |
|
|
|
|