phpbar.de logo

Mailinglisten-Archive

[php] Klassen einbinden

[php] Klassen einbinden

Yannik Hampe yannik at cipher-code.de
Die Feb 20 01:17:12 CET 2007



Niels Jäckel wrote:
> Hallo Achim,
> 
>> Wie kann ich denn meine Klassen zentral einbinden ohne mit den Pfaden
>> durcheinander zu kommen?
>> Bisher hab ich die mit (../classes/meineKlasse.php) eingebunden. Das hat
>> aber immer vorausgesetzt, dass die Ordnerstrucktur der Aufrufenden Dateien
>> immer gleich war. Ich möchte aber davon unabhängig sein.
> 
> eine schöne flexible Lösung ist auch eine Konstante zu definieren. Diese 
> Konstante zeigt dann auf ein Wurzelverzeichnis der Klassen und du bist 
> bis dorthin von der umgebenden Struktur unabhängig.
> 
> define('CLASSES_ROOT', '/home/myname/php/classes/');
> 
> // ...
> 
> require_once(CLASSES_ROOT .'MyClass.class.php');
> require_once(CLASSES_ROOT .'subfolder/AnotherClass.class.php');
> require_once(CLASSES_ROOT .'lib/Smarty/libs/Smarty.class.php');

Noch viel mehr Spass macht es mit autoload!

function __autoload($classname)
{
  include("/mein/Klassenpfad/$classname.inc.h");
}

so kann man sich alle includes komplett sparen, man hat notwendigerweise
eine gute Dateinamenstruktur und spart sich includes, die möglicherweise
garnicht nötig sind, weil die Klasse nicht gebraucht wird...
Den Pfad hat man soa uch zentral festgehalten.
> 
> 
> Grüße,
> Niels

Yanni

php::bar PHP Wiki   -   Listenarchive