Weitere Artikel aus dem Webentwickler Blog

Wer sich mit Joomla näher befasst, sollte die zugrunde liegende Technik zumindest im Überblick kennen. Zuerst daher eine Darstellung der großen Bereiche von Joomla, der Benutzer und auch der Begriffe des Content-Management-Systems.

In der Folge werden wir uns mit dem Framework auseinandersetzen. Da es aber in seiner Gesamtheit zu umfangreich ist, werden wir hier ausgewählte Bibliotheken und Klassen herausgreifen und näher betrachten. Trotzdem sehen wir im nächsten Abschnitt zumindest einen Gesamtüberblick.

Das Framework im Überblick

Werfen wir zuerst einen Blick auf die Basisfunktionen des Frameworks: Diese stehen uns immer zur Verfügung, da sie bereits zu Beginn der Anwendung geladen werden. Wir benötigen dafür keine speziellen Bibliotheken, welche wir einbinden müssen.

Die Pakete von Joomla lassen sich in drei große Gruppen einteilen:
  • Allgemeine Pakete,
  • unterstützende Pakete,
  • Anwendungspakete.

Der Begriff „Paket“ bezieht sich hier auf eine logische Sicht auf die Anwendung. Die Pakete sind auch über die komplette Verzeichnisstruktur von Joomla verteilt, und daher ist es besser, sich diese auch als Pakete vorzustellen. Auch hier werden wir in der Folge einzelne Pakete und besondere Methoden, welche uns wichtig erscheinen, genauer betrachten.

Allgemeine Pakete

Dies sind eigentlich alle Klassen und Methoden, welche das Framework von Joomla ausmachen.

Allgemeine Pakete

Dies sind eigentlich alle Klassen und Methoden, welche das Framework von Joomla ausmachen.
  • base Dieses Paket ist für die Kompatibilität von Joomla zu PHP 4 und PHP 5 zuständig.
  • error Mit diesem Paket werden Fehler ausgegeben und auch von Joomla aufgezeichnet.
  • html Hier sind alle Klassen für die korrekte Ausgabe von HTML-Seiten enthalten. Auch werden hier spezielle Elemente, denken wir an Formulare, innerhalb von HTML-Seiten unterstützt.
  • utilities Hier werden Klassen für Spezialfälle innerhalb von Joomla zusammengefasst. Zum Beispiel sind hier die Klassen JDate oder JSimpleXML enthalten.

Unterstützende Pakete

Diese Gruppe teilt sich in zwei Bereiche auf. System- und Serverinformationen
  • client Dieses Paket ist ein wenig missverständlich. Hier sind alle Klassen enthalten, welche Joomla zu einem „Client“ machen. Damit ist gemeint, dass eine andere Anwendung, wie FTP[1] oder LDAP[2], das CMS als Client benutzt.
  • database Hier sind alle Klassen für den Zugriff auf die Datenbank von Joomla enthalten. Wir haben diese Klasse schon in den vorherigen Kapiteln beim MVC-Entwurfsmuster kennengelernt.
  • environment PHP bietet Konstanten und Standardfunktionen für die Programmierung an. Damit diese aber gegen Angriffe von außen geschützt sind, muss man in der Softwareentwicklung einige Maßnahmen ergreifen. Und genau dieser Schutz wird uns von den Klassen dieses Pakets zur Verfügung gestellt, welche die Umgebung des Webserver-Systems in Joomla abbildet.
  • filesystem Wenn wir auf das Dateisystem des Webservers zugreifen wollen, um zum Beispiel externe Dokumente anzuzeigen, verwenden wir die Klassen aus diesem Paket.
  • mail Dieses Paket kümmert sich hauptsächlich um den Versand von E-Mail, ist aber auch für die restliche Kommunikation mit Mailservern zuständig.
Applikationsuntersützung cache Joomla besitzt einen eigenen Zwischenspeicher, um die Ausgabe der dynamischen Seiten zu beschleunigen. Darum kümmern sich die Klassen dieses Pakets. event Zur Steuerung der Events sind die Klassen dieses Pakets zuständig. Events sind Ereignisse, welche in der Applikation auftreten können und für Plugins als Startpunkt benutzt werden. filter Um eine gewisse Sicherheit zu erreichen, werden alle Daten von Joomla gefiltert. Dadurch ist sichergestellt, dass nur gültige Daten in das System gelangen und auch nur valide Daten von Joomla angezeigt werden. registry Die gesamten Konfigurationsdaten von Joomla werden über dieses Paket zur Verfügung gestellt. Mit den einzelnen Klassen können sie gelesen, aber auch verändert werden. session Da wir mit dem HTTP-Protokoll arbeiten, haben wir das Problem, dass eine Webanwendung keine Zustände über die Benutzung speichern kann. Denn das Protokoll überträgt nur die Daten von A nach B und beendet danach die Verbindung. Dafür können wir am Server sogenannte Sessions anlegen und damit eine einfache Zustandsverfolgung aufbauen. Die Klassen dieses Pakets vereinfachen uns diese Verwaltung für das gesamte CMS. Anwendungspakete application Hier werden alle Klassen für die verschiedenen Anwendung und die Steuerung derselben zusammengefasst. Als Anwendung können wir uns beispielsweise die Menüsteuerung vorstellen. document Der Begriff „Document“ ist in der Entwicklung und Anwendung von Joomla als abstrakte Definition zu sehen. Alle Ausgaben, egal ob beispielsweise HTML oder PDF, werden von Joomla als Dokument verstanden. Hier werden die Klassen aller bekannten Dokumentarten zusammengefasst. installer Die Klassen dieses Pakets kümmern sich um die einzelnen Installationsroutinen für die Erweiterungen in Joomla. language Joomla ist ja ein sprachunabhängiges System. Je nach installierten Sprachpaketen kann das CMS diese verwenden. Hier sind die Klassen für die Steuerung der Sprachen und der Spracherweiterungen zusammengefasst. plugin Auf die Verwaltung der Plugins von Joomla sind die Klassen dieses Pakets spezialisiert. template Die Klassen für die Vorlagen (Templates) und die Vorlagenerweiterung werden in diesem Paket zusammengefasst. user Alle Benutzer, vom Super-Administrator bis zum Gast, werden über die Klassen dieses Pakets gesteuert. Hier geht es um die Autorisierung und die Verwaltung der Benutzer. Dieser Text ist dem Buch "Joomla!-Extensions mit PHP entwickeln" von Clemens Gull entnommen, das im Franzis-Verlag erschienen ist. Es ist hier direkt bestellbar.
[1] File Transfer Protocol, Netzwerkprotokoll zur Übertragung von Dateien über TCP/IP-Netze [2] Lightweight Directory Access Protocol, ermöglicht es, den Zugriff auf Datenbanken zu erhalten. Oft wird es im Bereich für Benutzerverwaltung verwendet.

Kundenkommentare
Social Bookmarks
elo-web bookmarken bei: Mr. Wong elo-web bookmarken bei: Webnews elo-web bookmarken bei: Icio elo-web bookmarken bei: Oneview elo-web bookmarken bei: Yigg elo-web bookmarken bei: Linkarena elo-web bookmarken bei: Digg elo-web bookmarken bei: Reddit elo-web bookmarken bei: Simpy elo-web bookmarken bei: StumbleUpon elo-web bookmarken bei: Netscape elo-web bookmarken bei: Furl elo-web bookmarken bei: Yahoo elo-web bookmarken bei: Blogmarks elo-web bookmarken bei: Diigo elo-web bookmarken bei: Technorati elo-web bookmarken bei: Newsvine elo-web bookmarken bei: Blinkbits elo-web bookmarken bei: Ma.Gnolia elo-web bookmarken bei: Smarking elo-web bookmarken bei: Netvouz elo-web bookmarken bei: Folkd elo-web bookmarken bei: Spurl elo-web bookmarken bei: Google elo-web bookmarken bei: Blinklist
URL zu dieser Seite
Einfach den Quelltext kopieren und auf Ihrer Webseite einbinden

Kontakt
Newsletter | Kontakt | RSS Feed
Warenkorb: 0 Artikel
Gesamtwert: EUR 0,00
Home Joomla!  Das Joomla!-Framework im Überblick - Teil I