Mailinglisten-Archive |
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