zisslaweng.de

 Home    CSS    PHP    HTML    JavaScript    Allgemein    Sitemap   exemption-filter

Sitemap: so erstellt

Hier kommt zum zweiten Mal die Vererbung ins Spiel. Zur Erinnerung, auf der Seite Login Verwaltung > Zugriff auf die Daten wurde es bereits erwähnt.

Neben der Kapselung ist die Wiederverwendung von Code ein weiterer Vorteil des objektorientierten Programmierens. Wenn Sie das Tutorial Menü a lá zisslaweng gelesen haben (und vielleicht sogar anwenden), dann erkennen Sie, die Tabelle seite enthält bereits alle notwendigen Informationen und die Klassen MenueDbMapper und Page bieten bereits eine Menge von dem, was jetzt benötigt wird.

Tabelle und die Klassen sind also Bedingung für die folgenden Ausführungen.

Eine neue Klasse MapDbMapper erweitert (extends) MenueDbMapper. Wichtig zu wissen, dass die Ursprungsklasse nicht automatisch initialisiert wird. Den Konstruktor der Ursprungsklasse rufen Sie auf mit parent::__construct();.

Die Datei "z_mapdbclass.php5":

class MapDbMapper extends MenueDbMapper {
  public function __construct (){
    parent::__construct();
  }
  public function get_Map_Data (){
    $ret = array();
    $sql = "select ord,pfad,repeat('../',verz_level) 
             as verz_level,";
    $sql .= " gruppe, datei, menue_text, main, menue_level, 
             selektor1, selektor2, selektor3, selektor4, ";
    $sql .= " description, keywords ";
    $sql .= " from  seite ";
    $sql .= " where !isnull(menue_level) && 
             menue_level < '900000000'";
    $sql .= " order by menue_level ";
    $this->query($sql);
      while ($row = $this->fetch()) {
        $ret[] = new Page($row);
      }
    return $ret;
  }
}

Und auf der Seite sitemap.php5 holt der 3-Zeiler die Daten,

include ('../php/z_mapdbclass.php5');
$MAP = new MapDbMapper;
$map = $MAP->get_Map_Data();
Logo