hanaalkadri / educom-webshop-database

0 stars 0 forks source link

In de presentatie laag zit business code. Zet je menu in een array #16

Open JeroenHeemskerk opened 1 year ago

JeroenHeemskerk commented 1 year ago

In de showMenu functie (presentatie laag) zit logica die thuishoort in de business laag (zoals het besluiten welke items zichtbaar zijn) https://github.com/hanaalkadri/educom-webshop-database/blob/1bcc07b7289d1c9be7701414c8e2cc02071b10c3/index.php#L159-L176

Wat je beter kan doen is een array maken met alle menu items (onderin processRequest) en dan

  $data['menu'] = array('home' => 'Home', 'contact' => 'Contact', 'about' => 'About', 'webshop' => 'Webshop');
  if (isUserLoggedIn()) {
    $data['menu']['logout'] = "Logout " . getLoggedInUserName(); 
  } else {
    $data['menu']['register'] = "Register";
   /* ... */
 }

Je kan nu in de index een foreach loop maken

function showMenu(){ 
     echo '<ul class="menu">'; 
     foreach($data['menu'] as $link => $label) { 
         showMenuItem($link,$label); 
     }
     echo '</ul>';
}