Thread Richtige Pfade beim Community Script
(21 answers)
Opened by awangard at 2015-02-07 21:30 Quote(Niklaus Wirth). Dazu gehört auch, wie Du Deinen Code organisierst: Möglichst so, dass er wartungsfreundlich und überschaubar ist. Schöne Grüße ;) Edit, ein bischen ausführlicher: Jede Perl-Anwendung, sei es als CGI fürs Web oder ein Script für die Kommandozeile, hat eine main. Diese main befindet sich in der ausführbaren Datei, das ist die package main; auch dann, wenn sie nicht explizit als Solche ausgewiesen ist. Eine main (das ausführbare Script) kann CODE-Sourcen weiterer Dateien einbinden mit use, require oder do (guck Dir die Unterschiede an). Fürs Einbinden weiterer Dateien mit o.g. Operationen sind die Pfade im Array @INC ausschlaggebend. Tipp: Code (perl): (dl
)
print "@INC"; In der Regel ist das Setzen eigener Lib-Pfade nur in der main erforderlich, es ist jedoch möglch, in externen Dateien auch weitere Lib-Pfade hinzuzufügen. Tipp: EIN zusätzlicher Lib-Pfad in der main gesetzt, weist den Weg für ALLE anderen zu kompilierenden Ressourcen. Ein eigener Lib-Pfad muss nicht unbedingt relativ zu dem Verzeichnis sein, in welchem sich das ausführbare Script befindet. D.h., Du kannst einen eigenen Lib-Pfad sonstwo hin legen, im Fall einer Webanwendung jedoch so, dass die darin liegenden Dateien nicht über den Browser erreichbar sind (außerhalb DOCUMENT_ROOT). Das Verzeichnis /cgi-bin/ ist per Apache-Config i.d.R. ein ScriptAlias, d.h., vom Browser aus gesehen gibt es da überhaupt keinen Bezug zum Dateisystem (diesen Bezug gibt es nur in der Serverkonfiguration). Über einen ScriptAlias im Browser aufgerufene Webressourcen versucht der Apache auszuführen. Es empfiehlt sich, im /cgi-bin/ nur ausführbare Dateien zu haben. Allein wegen der Übersicht: Konfigurationsdateien, weitere Moduldateien raus aus /cgi-bin/ und ab damit in das eigene Lib-Verzeichnis. Soweit fürs Erste ;) Last edited: 2015-02-08 11:09:50 +0100 (CET) |