Daniel Częstki senior php developer
Temat: Includowanie plików z różnych poziomów.
Witam. CHodzi mi po głowie uniwersalne rozwiązanie na problem związany z includowaniem plików w PHP w taki sposób, aby było to niezależne od położenia tych plików.przyjmijmy taka sytuacje:
+public_html
| +-common
| | +- plik.php
| | +- plik1.php
| |
| +-index.php
index.php
---------
include "common/plik.php"
common/plik.php
---------------
include "plik1.php"
Wywolanie index.php spowoduje oczywisty błąd, gdyż PHP będzie szukał pliku plik1.php w katalogu public_html, ponieważ bieżąca ścieżka (katalog) jest tą, na którą wskazuje pierwszy z kolejnosci parsowany plik php, czyli index.php (katalog:public_html).
Aby temu zaradzić najłatwiej jest dołożyć katalog 'common' do include_path poprzez ini_set.
Czy ta metoda jest najbardziej optymalna ?
Generalnie chodzi mi o taki przypadek iż, jeżeli tworze jakiś moduł - załóżmy 'newsletter', ktory korzysta z jakichś zewnętrznych klas (np. PEAR DB, czy PHPMailer) to lepiej ściśle wiązać położenie tych klas z modułem, czy raczej umozliwic dowolna lokalizacje tych klas + zmiana sciezek include_path, a w samym module includowac po prostu glowne pliki klas (np. include "DB.php" czy include "PHPMailer.php" bez wskazywania katalogow ?
Jakie są wasze doświadczenia w tym temacie ?Daniel C. edytował(a) ten post dnia 11.04.08 o godzinie 17:29