Абе не знам какви менюта поддържате, ама аз бих заложил, че не са от милиони записи
.
За по-прости конфигурации, можем директно да си наслагаме всичко в един конфигурационен файл -- menu.php. Декларацията на класа и помощната функция може и да не седят там:
<?php
class MenuItem
{
var $Name;
var $TargetUrl;
var $Children;
function MenuItem($name, $href, $children)
{
$this->Name = $name;
$this->TargetUrl = $href;
$this->Children = $children;
}
}
function item()
{
$args = func_get_args();
$name = array_shift($args);
$href = array_shift($args);
return new MenuItem($name, $href, $args);
}
$menu = item("Main", "http://google.com",
item("Sub1", "http://yahoo.com"),
item("Sub2", "http://dir.bg",
item("Sub2_Sub1", "http://goatse.cx", NULL),
item("Sub2_Sub3", "http://rotten.com", NULL),
item("Sub2_Sub4", "http://ogrish.com", NULL)));
var_dump($menu);
Накрая директно си пишем дървовидната структура на менюто и не си играем да я превръщаме в таблична, че и да я пращаме в базата. Е може би тоя подход няма да е много удачен за страшно сложно CMS решение.![](http://i.dirbg.com/clubs/icons/wink.gif)