phpbar.de logo

Mailinglisten-Archive

[php] Klassen einbinden

[php] Klassen einbinden

Niels Jäckel niels.jaeckel at silice.de
Die Feb 20 10:48:12 CET 2007


Hallo Thorsten,

> Wie wäre es, wenn Du das includieren der Klassendateien über eine "Codeloader" Klasse abfackelst. Dann brauchst Du Dich dort, wo Du Deine Klasse instanziieren möchtest, nicht mehr drum kümmern, wo die Datei liegt, die Du includieren möchtest, denn Du sagst immer
> 
> myCodeloader::load('klasse2');
> $myClass = new klasse2();
> 
> Die Methode "load" der Klasse myCodeloader weiß wo all diese Dateien der Klassen liegen. Das kannst Du einfach in ein Array schreiben oder in eine Konfigdatei auslagern oder wie auch immer. In der Methode load kannst Du Dir dann auch merken, ob der Code schonmal früher geladen wurde etc. pp. So hast Du genau ein Ort, an dem Du weißt, wo die Sachen liegen und mußt auch immer nur an einem Ort ändern, falls Du Deine Klassen mal anderst aufteilst.
> 
> 
> Wenn nun eine Klasse von einer anderen abgeleitet ist, dann kannst Du ja genauso verfahren:
> 
> klasse2.php:
> 
> myCodeloader::load('klasse1');
> class klasse2 extends klasse1 {
> }

und wenn du den CodeLoader nun noch mit der globalen Funktion 
__autoload(...) verbindest (PHP 5) kannst du dir die jeweilige 
::load()-Zeile noch sparen ;-)


Grüße,
Niels

php::bar PHP Wiki   -   Listenarchive