Überblick

Dieses Dokument soll einen Überblick über die Ordnerstruktur DSAo-Mds, die verschiedenen wichtigen Klassen und Komponenten, sowie über deren Verbindungen geben.

/devel

Hier liegt der gesamte Quelltext von DSAo-Md.

/devel/controllers

Die verschiedenen Action-Controller. Für jedes Modul gibt es hier einen Ordner, unterhalb dessen die einzelnen Controller liegen. Z.B. der Controller

/devel/controllers/user/LoginController.php

entspricht der Seite

/user/login/*.

Die verschiedenen Aktionen sind dann Methoden des Controllers.

/devel/etc

Hier befindet sich die Konfiguration. *.dist-Dateien enthalten Standardwerte.

/devel/htdocs

Enthält alles für den Benutzer 'sichtbare'. Sprich die index.php, Grafiken, JavaScript-Dateien, Bilder etc.

/devel/lang

Dieser Ordner enthält die Sprachdateien. Unterhalb dieses Ordners gibt es die folgende Ordnerstruktur:

  • /devel/lang/$language/*.php - globale und für jedes Modul eine 'globale' Sprachdatei, die cotrollerübergreifende Texte enthält.
  • /devel/lang/$language/layout - für jedes Layout eine Sprachdatei
  • /devel/lang/$language/php - Texte, die in den Controllern benutzt werden (für jedes Modul und Controller eigene Ordner).
  • /devel/lang/$language/template - Texte, die in den Templates benutzt werden
  • /devel/

/devel/lib

Bibliotheken. Alle möglichen Klassen (außer den Controllern), die zu DSAo-Md gehören oder dafür benötigt werden.

Die Klassen unterhalb von Dsao und Zend können automatisch geladen werden, heißt:

  • Datei /devel/lib/Dsao/Class/SubClass.php enthält nur die Klasse Dsao_Class_SubClass und nichts weiter

/devel/lib/Dsao

Hier ein kurzer Überblick über die wichtigsten Bereiche/Klassen:

  • Dsao/Cache/ - Caching.
  • Dsao/Config - Konfiguration.
  • Dsao/Constructor - Klassen, die Objekte von Zend-Klassen (wie Konfiguration und ACL) erstellen und mit Werten füllen (gehört zum Caching).
  • Dsao/Controller/ - alles zum Controller gehörenden
    • Dsao/Controller/Action.php - Der abstrakte Aktion-Controller. Eine der zentralen Steuerklassen, da jeder Controller diesen erweitert und wichtige Initialisierungprozesse etc. hier stattfinden
    • Dsao/Controller/Action/Helper/* - Actionhelper. Helferklassen, die z.B. größere Objekte initialisieren, Benutzerauthentifizierung übernehmen usw.
    • Dsao/Controller/Plugin/* - Plugins. Ähnlich wie Actionhelper, werden aber vorher ausgeführt und nur einmal pro Aufruf.
  • Dsao/DataHandler/Abstract.php - Eine übergreifende Klasse für alle Klassen, die intern einen Array von Daten verwalten
  • Dsao/Db/ - Datenbankklassen
    • Dsao/Db/Table/*.php - Tabellenklassen. Orientierung bietet hier die Abstract.php. Die Select.php erweitert die ZF-Klasse Zend_Db_Table_Select, um die Verwendung etwas angenehmer zu gestalten
    • Dsa/Db/DataHandler/ - Übergreifende Klassen für alle Klassen, die intern einen Array von Daten verwalten, die aus der Datenbank geladen werden
  • Dsao/Filter/ - Filterklassen
  • Dsao/Hash - Die Klassen repräsentieren einwegverschlüsselte Daten wie Passwörter oder Aktivierungsschlüssel
  • Dsao/Log - Logging
  • Dsao/Model - Modellklassen, die dem Controller zuarbeiten und sämtliche Datenbankoperationen übernehmen
  • Dsao/Module - Modulverwaltung
  • Dsao/Translate - Sprachverwaltung
  • Dsao/Uri/ - Klassen zur Verwaltung von URIs
  • Dsao/Validate/ - Validatoren
  • Dsao/View - die View-Komponente, im Moment durch Smarty repräsentiert
  • Dsao/Xml - Klassen zur Verwaltung von XML-Dateien

/devel/templates

Hier liegen alle Templates, die Ordnerstruktur sieht folendermaßen aus:

  • /devel/templates/$layout/$module/$controller/$action.tpl

Der Ordner templates_c enthält die comilierten Templates.

/devel/tmp

Standardordner für temporäre Dateien (Caching etc.).

/devel/xml

/pool

Hier liegt Code, der unvollständig ist und für das Einfügen in /devel zu einem späteren Zeitpunkt vorgesehen ist.

/sql

Hier liegen die zur Installation von DSAo-Md benötigten SQL-Dateien.

/svnupdate.sh

Ein SVN-Updatescript, das die aktuelle Revisionsnummer in /devel/tmp/revision schreibt (zur Ausgabe im Template).

Klassendiagramm

Hier ein Klassendiagramm, das das Zusammenspiel der wichtigsten Klassen darstellt:

dsao_md_class_diagramm.svg

 
code/ueberblick.txt · Zuletzt geändert: 18.09.2009 14:04 von saviola
 
Recent changes RSS feed Valid XHTML 1.0 Valid CSS Driven by DokuWiki