Mailinglisten-Archive |
Hi Ralf,
Ralf Eggert schrieb:
> Ich möchte in meinen Skripten zu Beginn alle notwendigen Klassen laden.
Genau.
> require_once("Smarty.class.php"); // load Smarty Template Class
> require_once("DB.php"); // load PEAR::DB Class
> require_once("cls/website.php"); // load Website Class
>
> Die ersten beiden Klassen liegen immer in den selben Verzeichnissen und
> werden in meiner globalen php.ini gesetzt. Die dritte Klasse liegt
> jedoch je nach Projekt in einem anderen Verzeichnis.
Eventuell ist dein Applikationsdesign broken.
Ich würde es so machen, dass ich eine local/config.php hätte, die in
einer Konstanten oder ähnliches den Verzeichnispfad der jeweiligen
Installation enthält, der sich von Installation zu Installation
unterscheidet. Diese(n) gebe ich an ini_set('include_path',...);
weiter und das Problem ist gelöst.
Du wirst ja sicherlich auch pro Installation andere DB-Connectionparameter
haben, also bietet es sich an, genau da das Verzeichnis der jeweiligen
Installation zu setzen. Theoretisch könnte man dann auch via
require_once ABSOLUTE_LOCAL_PATH.'/cls/website.php';
arbeiten, wobei ABSOLUTE_LOCAL_PATH dann mal
'/www/ich/bin/aufm/liveserver/blaprojekt'
oder
'c:/irgendwo/bei/mir/daheim'
ist.
Allerdings bevorzuge ich lieber das dynamische Setzen des Include Pfads,
da require_once 'cls/website.php'; wesentlich cleaner ist.
Und wenn du ein local/ Verzeichnis hast, dann wirst du das nur genau
1x auf den Live-Server aufspielen und bei allen folgenden Uploads nicht
mehr.
HTH, Björn.
--
ThinkPHP / Mayflower GmbH schotte at mayflower.de
Sedanstraße 27 Tel: 0931 / 78 43 804
97082 Würzburg Fax: 0931 / 78 43 795
* http://www.thinkphp.de/ * http://blog.rent-a-phpwizard.de/
php::bar PHP Wiki - Listenarchive