Screamer, Вот мне и интересно, как это реализовать оптимальным способом...
Screamer, Вот мне и интересно, как это реализовать оптимальным способом...
И_че?, Можно использовать уже какой нибудь готовый шаблонизатор Smarty, Twig.....
Только от этих шаблонизаторов кроме красивости кода шаблонов толку маловато, производительность понижается, синтаксис их нужно будет изучать.
Или написать свой. Вот примерная реализация (код не тестировал):
Создаешь три файла, один будет связующим звеном между шаблонизатором и шаблоном module.php, второй обрабатывать шаблон - template.php, третий сам шаблон view.php
-------------
template.php
// Получаем шаблон
function get_template($name) {
if (file_exists($name)) return file_get_contents($name);
return false;
}
// Обрабатываем шаблон
function parse($file, $data) {
ob_start(); // Включаем буферизацию вывода
extract($data, EXTR_PREFIX_ALL, 'tpl'); // Извлекаем массив в переменные
// с названиями содержащими префикс tpl
eval(' ?>'. $file .'<?php '); // Запускаем на исполнение
$tpl = ob_get_contents(); // Получаем содержимое
ob_end_clean(); // Выключаем буферизацию
return $tpl; // Возвращаем обработанный шаблон
}<!-- Ну тут все ясно -->
<html><head><title><?php echo $tpl_title; ?></title></head>
<body><?php echo $tpl_content; ?></body></html>require ('template.php');
$data = array('title' => 'Example', 'content' = 'Hello World!');
$tpl = get_template('view.php');
$tpl = parse($tpl, $data);
echo $tpl;Screamer, Производительность понижается...? Плохо... Интересно, как на "больших" сайтах сделано...
И_че? (26.04.2012/10:38)Например ? spaces rugame ?
Screamer, Производительность понижается...? Плохо... Интересно, как на "больших" сайтах сделано...
И_че?, То что понижается это не так уж и критично т.к. не слишком уж и заметно, люди пользуются и ничего.
И_че?, ну и ник же ты себе подобрал, фиг нормально прочитаешь посты ![]()
Pillott, Во-Во! Полностью согласен! А от шаблонизаторов реально толку мало. Они больше код запутывают чем помогают.
Как и обещал выкладвыаю:
Предлагаю вот такое простенькое и удобное дополнние.
Функции:
Создание страниц
Редактирование страниц
Удаление
Установка
1.Залить папку в корень сайта
2.В файл .htaccess в конец вставьте
RewriteRule ^page/(.+)\.htm$ /nurd/?view=$1
ValekS, А вот тут готов поспорить, гораздо удобнее подключить отображение отдельно, чем копатся в мешанине из отображения и логики приложения.
Конечно выражения вы там не напишите, но если нужно создать статическую страничку - вперед. Хак NURD поможет вам. Кстати там своя страница ошибки 404.
Все файлы создаются в папке /data/.