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; // Возвращаем обработанный шаблон
}
view.php
Стоит обратить внимание на названия переменных.
<!-- Ну тут все ясно -->
<html><head><title><?php echo $tpl_title; ?></title></head>
<body><?php echo $tpl_content; ?></body></html>
module.php
require ('template.php');
$data = array('title' => 'Example', 'content' = 'Hello World!');
$tpl = get_template('view.php');
$tpl = parse($tpl, $data);
echo $tpl;
Запускаешь module.php и готово.
-------------
З.Ы. Лучше погугли на тему php шаблонизаторы, шаблоны и т.п.
Screamer, Производительность понижается...? Плохо... Интересно, как на "больших" сайтах сделано...
И_че? (26.04.2012/10:38)
Screamer, Производительность понижается...? Плохо... Интересно, как на "больших" сайтах сделано...
Например ? spaces rugame ?
И_че?, То что понижается это не так уж и критично т.к. не слишком уж и заметно, люди пользуются и ничего.
И_че?, ну и ник же ты себе подобрал, фиг нормально прочитаешь посты
Pillott, Во-Во! Полностью согласен! А от шаблонизаторов реально толку мало. Они больше код запутывают чем помогают.
Как и обещал выкладвыаю:
Предлагаю вот такое простенькое и удобное дополнние.
Функции:
Создание страниц
Редактирование страниц
Удаление
Установка
1.Залить папку в корень сайта
2.В файл .htaccess в конец вставьте
RewriteRule ^page/(.+)\.htm$ /nurd/?view=$1
3.CHMOD 777 на /nurd/data/ и /nurd/admin.php
Заходим по ссылке
http://site/nurd/admin.php и управляем файлами
При создании файла он доступен по адресу site.ru/page/page_name.htm
ValekS, А вот тут готов поспорить, гораздо удобнее подключить отображение отдельно, чем копатся в мешанине из отображения и логики приложения.
Конечно выражения вы там не напишите, но если нужно создать статическую страничку - вперед. Хак NURD поможет вам. Кстати там своя страница ошибки 404.
Все файлы создаются в папке /data/.