ChrisB: include_path und __autoload gemeinsam nutzen

Beitrag lesen

Hi,

Ich erkläre mal kurz, wie ich Dich verstehe. Die Klassen kommen (in der Entwicklungsumgebung) nach /xyz/a/. In PHP selbst (mittels inc_path, ini_set etc.) greift man auf Dateien aus /xyz/projekt1/b/ zu. Dort liegen aber keine gewöhnlichen Dateien, sondern Links. Das merkt PHP selbst nicht, wohl aber das OS. Also müßte ich in /xyz/projekt/b// für jede Datei einen Link auf ein Pendant in xyz/a/ anlegen. Verstehe ich das soweit richtig?

Nein, nicht für jede Datei - für's Verzeichnis.
Wenn /xyz/projekt1/b/ ein SymLink ist, der auf /xyz/a/ verweist - dann sucht das OS bei "Aufruf" von /xyz/projekt1/b/blah.blubb diese Datei automatisch unter /xyz/a/blah.blubb

Der einzige Schritt, der getan werden muß, läge demnach gar nicht in der Programmierung mit PHP, sondern im Anlegen von symb. Links mittels Shell, ist das so richtig?

Ja, genau. PHP merkt gar nichts davon.
(Ausser vielleicht, wenn man explizit mit Funktionen wie is_link darauf prüft.)

Wenn das so wäre, würde das sogar noch ein anderes Problem lösen, nämlich wenn sich herausstellt, daß eine Applikation doch nicht fehlerfrei arbeitet und noch mal in der Entwicklungsumgebung nachbearbeitet werden muß. Jetzt bestünde natürlich die Möglichkeit, daß verwendete Klassen im allgemeinen Verzeichnis verändert wurden und nicht mehr kompatibel zum fehlerhaften Projekt sind. Ich könnte in dem Fall aber vorübergehend den symb. Link durch die tatsächliche Klasse in xyz/fehlerhaftes_projekt/a/ ersetzen, und das Problem wäre gelöst.

Gut, das würde aber nur funktionieren, wenn du die SymLink wirklich auf Dateiebene benutzen würdest. Ginge auch, ist aber mehr Aufwand beim Einrichten.

MfG ChrisB

--
Light travels faster than sound - that's why most people appear bright until you hear them speak.