Какой способ перехода по страницам наиболее оптимален в меню. С использованием переключения страниц при помощи swich или же генерацией ссылок меню следующего типа
<?php
/**
* Генератор менюшки =)
*/
//начинаем...
$i = 0;
//открываем папку с контентом
$handle = opendir ('content/');
//считываем в цикле названия файлов
while($file = readdir($handle)){
//отсекаем ненужные нам файлы и ссылки на директории
if ($file != '.' && $file != '..' && $file != 'default.php'){
//считываем первые 50 символов из файла
$buffer = file_get_contents('content/'.$file);
//с помощью регулярного выражения извлекаем название для меню
preg_match('/<!--(.*)-->/',$buffer,$name);//
//формируем массив названий файлов без расширения .php
$func[$i] = substr($file, 0, -4);
//выводим ссылки меню
echo " <a href='index.php?p=$func[$i]'>$name[1]</a> ";
$i++;
}
}
closedir($handle);//закрываем директорию
А вот и пример switch c использованием буфферизации
<?php
ob_start();
$page = 'main';
/**
* Подключаем меню
* Includes the menu
*/
include './skins/tpl/menu.tpl';
/**
* The switch of modules
* Переключатель страниц
*/
switch($page)
{
/**
* Подключаем модуль приветствия
* Includes the greeting module
*/
case 'main':
include './modules/main/index.php';
include './skins/tpl/main/show.tpl';
break;
/**
* Подключаем модуль второй страницы
* Includes the module of the second page
*/
case 'second':
include './modules/second/index.php';
include './skins/tpl/second/show.tpl';
break;
/**
* Подключаем модуль приветствия по умолчанию
* Includes the greeting module
*/
default:
include './modules/main/index.php';
include './skins/tpl/main/show.tpl';
break;
}
$content = ob_get_contents();
ob_end_clean();
?>
Пока я нашел только 1 минус это добавление ссылок вручную, а так все на ура. Или же это пятое колесо? Может еще есть какие-нибудь способы постраничной навигации?
PS Сильно не ругайтесь если я что-то не так написал или неправильно понял, просто хочу выбрать наиболее оптимальный вариант для постоянного использования и прислушаться к знающим кодерам!
|