phpbar.de logo

Mailinglisten-Archive

[php] include_path

[php] include_path

Thomas Beckmann php_(at)_phpcenter.de
Sun, 03 Feb 2002 22:29:46 +0100


>Da ich jedoch fuer mehrere Host entwickle, verzichte ich darauf,
>den Includepath in der INI zu setzen.
>- zum einen kommt man da oft gar nicht ran
>- zum anderen ist der von Host zu Host verschieden
Stimmt, geht mir auch so.

>Ergo schreibe ich im Script:
>include("/homepages/22/d22832998/htdocs/incl/class/all/workpage.class");
>da sieht man gleich, das ist PureTec ... ;-)
Hmm, das finde ich auch unbefriedigend, da die Struktur ja von Server
zu Server verschieden ist, meine Bibliotheken aber aufeinander
verweisen (also müßte ich auf jedem Server die Bibliotheken anpassen -
brr).
Ich hatte eine Lösung mit einer überall vorhandenen Datei _PATH.php,
die in Abhängigkeit vom host eine "library-root"-Variable setzt - auch
nicht befriedigend, wenn die Anzahl der hosts steigt und
möglicherweise irgendwelche virtual-hosts vom Kunden dazukommen, der
einfach die Dateien kopiert und sich wundert, daß nichts mehr geht.
Also mache ich nun folgendes

$_LIBDIR = (substr($_LIBDIR = str_replace('\\', '/',
dirname(__FILE__)), -1) == '/' ? $_LIBDIR : $_LIBDIR.'/');
include_once($_LIBDIR.'db_settings.php');

in den Bibliotheken. In der entsprechenden projektspezifischen Datei
mach' ich dann das include wie Du's beschrieben hast, entweder über
den absoluten, oder einen relativen Pfad - beides wird nach obiger
Methode korrekt aufgelöst.

Kommentare willkommen ... (ich hatte grad' vor ein paar Tagen einen
thread in dieser Richtung losgetreten ...)
--
Thomas Beckmann, Kiel, Germany
thomas_(at)_ThBeckmann.de


php::bar PHP Wiki   -   Listenarchive