Weitere Artikel aus dem Webentwickler Blog

Die JLoader-Klasse implementiert eine Besonderheit, welche in PHP 5 zum Standard gehört: Das dynamische Laden von Klassen. Bis zu dieser Version erfolgte das Laden von Klassen „vorsorglich“ am Anfang eines Skripts mit dem Befehl require_once(). Ab jetzt können die Befehle genau dort eingebaut werden, wo sie von der Anwendung benötigt werden. Dadurch erhalten wir eine schlankere Software im Arbeitsspeicher, da nur die Klassen geladen werden, welche für den Programmablauf benötigt werden.

Die Klasse JLoader

Für diese Möglichkeit stellt uns PHP 5 die „Spezialfunktion“ __autoload() zur Verfügung. Diese darf zwar nur genau einmal in einem PHP-Skript vorkommen, übernimmt aber dafür das dynamische Nachladen von Klassen. Dies bringt uns einen immensen Vorteil im Bereich der Performance.

Mit der alten Methode wurden alle Klassen am Anfang des Skripts geladen. Egal ob diese Klassen jemals aufgerufen wurden, die Lade- und Verarbeitungszeit wurde verbraucht. Mit der neuen Funktion wird diese Zeit erst verbraucht, wenn die Klasse wirklich in der Applikation benötigt wird.


Im obigen Listing sehen wir, dass die Klasse classUser einfach aufgerufen wird. In unserem Fall wurde die entsprechende Definition noch nicht geladen. Daher greift der PHP-Interpreter auf die Funktion __autoload() zu und übergibt als Parameter den Namen der Klasse (classUser). Nun wird im Befehl require_once der Pfad zur Datei zusammengestellt (/classes/classUser.class.php) und diese in der Folge geladen. Dadurch wird auch die Variable $benutzer ohne Fehler belegt.

Da diese Funktion aber erst ab der Version 5 von PHP zur Verfügung steht und Joomla auch zu älteren Versionen abwärtskompatibel sein muss bzw. bereits unter Version 4 von PHP verfügbar war, wird eine vergleichbare Funktionalität benötigt. Dafür ist die Klasse JLoader zuständig, welche genau diese Arbeit übernimmt. Diese Klasse stellt uns einen einfachen Befehl zur Verfügung, welchen wir für den dynamischen Import nutzen sollten.

Der Befehl, den uns Joomla dafür zur Verfügung stellt, ist jimport($path). Der Parameter $path ist hierbei allerdings ein wenig gewöhnungsbedürftig. Hier wird nicht ein echter Pfad angegeben, sondern Joomla nimmt den Pfad joomla/ als Basis an. In dem Parameter selbst werden die einzelnen Ordner und der Dateiname mit Punkten getrennt und die Erweiterung .php wird nicht angegeben. Schauen wir uns dazu ein Beispiel an:

...
jimport('joomla.application.component.controller');
...

Der obenstehende Befehl importiert die Datei controller.php aus dem Verzeichnis libraries/joomla/application/component/.

Ganzen Artikel lesen... 

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!  Hilfreiche Klassen für Joomla!