38 lines
No EOL
986 B
PHP
38 lines
No EOL
986 B
PHP
<?php
|
|
|
|
/**
|
|
* Список ссылок
|
|
*/
|
|
class SimpleMenu
|
|
{
|
|
private $items = array();
|
|
|
|
/**
|
|
* Добавление элемента меню
|
|
* @param $href Обьект ссылки или строка, ссылка должна быть сгенерирована при генерации страницы, т.к может зависеть от параметров
|
|
* которые могут измениться при создании страницы, поэтому передается ссылка на функцию (отложенная/ленивая ссылка)
|
|
* @param $name Подпись к ссылке
|
|
*/
|
|
function addMenuItem(/*. url .*/ $href,/*. string .*/ $name)
|
|
{
|
|
if($href) { // если ссылка пустая то элемент не добовляется
|
|
$this->items[] = array('href' => $href, 'name' => ucfirst($name)); // menu_item
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Массив ссылок
|
|
* @return Массив
|
|
*/
|
|
function getItems()
|
|
{
|
|
foreach ($this->items as &$item) {
|
|
if (is_callable($item['href'])) {
|
|
$item['href'] = call_user_func($item['href']);
|
|
}
|
|
}
|
|
return $this->items;
|
|
}
|
|
}
|
|
|
|
?>
|