Io fare una cosa tipo questa

Codice PHP:

class ItemMenu {
     public 
$linkValue null;
     public 
$linkName null;
     private 
$subMenu = array();

     
     public function 
__construct($link null $name null) {
        
$this->linkValue $link;
        
$this->linkName $name;
     }

     public function 
addSubItem (ItemMenu $item) {
            
$this->subMenu[] = $item;
     }


     public function 
getMenu() {
            if (
is_null($this->link)) {
                 echo 
"<div>menu</div>";
            } else {
                echo 
"<a href ....  ";
            }
            foreach (
$this->subMenu as $cItem) {
                    
$cItem->getMenu();
            }
     }
     
}

$home = new ItemMenu("index.php","home");
$item2 = new ItemMenu("item2.php","item2");
$item3 = new ItemMenu("item3.php","item2");
$item4 = new ItemMenu("item4.php","item2");

$subItem1 = new ItemMenu("subItem1.php","subItem1");
$subItem2 = new ItemMenu("subItem2.php","subItem2");

$mainMenu = new ItemMenu();
$mainMenu.addSubItem($home);
$mainMenu.addSubItem($item2);
$mainMenu.addSubItem($item3);
$mainMenu.addSubItem($item4);

$item3.addSubItem($subItem1);
$item3.addSubItem($subItem2);

$home.getMenu(); 

Andrea
p.s. e' scritto a mano non funzionerà mai volevo solo rendere l'idea