Malcolm Beck´s: Noch eine frage zu einer kleinen Klasse

Beitrag lesen

hi,

ich hab Gestern meine erste Klasse geschrieben, die mir auch nützlich ist, jetzt habe ich ein zwei fragen zu dieser. Erstmal die Klasse:

<?php  
  error_reporting(E_ALL);  
  
  /*  
   * Menuklasse  
  */  
  class Menu  
  {  
    function Menu($Url,$Title)  
    {  
      return ($_SERVER['REQUEST_URI'] == '/'.$URL)  // wenn aufgerufene URI = Wert aus dem Array entspricht, keinen Link generieren  
            ? $this->liste = "<li><em>$Title</em></li>"  
            : $this->liste = "<li><a href='$URL'>$Title</a></li>";  
    }  
  }  
  
  /*  
   * Menuarray  
  */  
  $array = array(  
                  'index'      => 'Start'  
                  ,'seite_2'   => 'Infos'  
                  ,'sonstiges' => 'Diverses'  
                 );  
  
  /*  
   * Navigation zusammenbauen  
  */  
  $Navigation = '<ul>';  
  
  foreach ($array as $Url => $Title)  
  {  
    $MyList = new Menu($Url,$Title);  
    $Navigation .= $MyList->liste;  
  }  
  
  $Navigation .= '</ul>';  
  
  echo $Navigation;

Kann mir jemand erklären, wie ich eine 2te Funktion in die Klasse bekomme und wie ich die dann aufrufen kann?

Oder vielleicht so verständlicher: derzeit erzeuge ich ja mit „new Menu(...)“ ein Objekt(?), nur in meinem Beispiel musste ich die funktion, die in der Klasse steht, auch Menu nennen, da ich andernfalls die Meldung:

Class 'Menu_ul' not found ...

bekomme, ich verstehe die Meldung, aber wie umgehe ich diese?

Ich möchte in der Klasse die möglichkeit haben, mir unterschiedliche Listen generieren zu lassen, nur weiss ich gerad nicht weiter.

Was ich am ende haben möchte:

  class Menu  
  {  
    // a href mit ID versehen  
    function Menu_1($Title,$URL)  
    {  
      return ($_SERVER['REQUEST_URI'] == '/'.$URL)  // wenn aufgerufene URI = Wert aus dem Array entspricht, keinen Link generieren  
            ? $this->liste = "<li><em>$Title</em></li>"  
            : $this->liste = "<li><a id='currentlink' href='$URL'>$Title</a></li>";  
    }  
  
    // a href ohne ID  
    function Menu_2($Title,$URL)  
    {  
      return ($_SERVER['REQUEST_URI'] == '/'.$URL)  
            ? $this->liste = "<li><em>$Title</em></li>"  
            : $this->liste = "<li><a href='$URL'>$Title</a></li>";  
    }  
  
    // und noch einige weitere Konstallationen oder andere Funktionen  
  }

Wie kann ich mit dem oberen Beispiel ein Objekt erzeugen und mit diesem arbeiten?

mfg

--
echo '<pre>'; var_dump($Malcolm_Beck`s); echo '</pre>';
array(2) {
  ["SELFCODE"]=>
  string(74) "ie:( fl:) br:> va:? ls:? fo:) rl:| n4:# ss:{ de:? js:} ch:? sh:( mo:? zu:("
  ["Meaningful"]=>
  string(?) "Der Sinn des Lebens ist deinem Leben einen Sinn zu geben"
}