Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: autoload & set_include_path
Forum PHP.pl > Forum > PHP
bajmar
Mam zrobiony autoload ale problem jeśli skrypty są wywoływane z podkatalogów muszę dodać do path kolejny "../../"

Jak pozbyć się takiego kodu:

/config.php
  1. <?php
  2.  
  3. set_include_path(get_include_path() . PATH_SEPARATOR . "CLASS");
  4. set_include_path(get_include_path() . PATH_SEPARATOR . "CLASS/Core");
  5. set_include_path(get_include_path() . PATH_SEPARATOR . "../CLASS/Core");
  6. set_include_path(get_include_path() . PATH_SEPARATOR . "../../CLASS/Core");
  7.  
  8.  
  9. function __autoload($className) {
  10. include_once($className . ".class.php");
  11. }


folder/folder/skrypt.php

  1. include_once('../../config.php');
  2. $mojaKlasa= new mojaKlasa();
  3. //..
  4.  
Michael2318
http://forum.php.pl/index.php?showtopic=116897
Pyton_000
Możesz rekurencyjnie przeszukiwać określony katalog z klasami lub stworzyć sobię mapę klas na ścierzki i tylko wczytywać z tablicy ścieżkę.

W dziale Pro bodaj jest temat nt. autoloaderów co i jak wydajnie zrobić.
freemp3
Możesz dodawać ścieżki względem pliku config.php, zamiast tego uruchamianego. Pobierz sobie scieżkę bezwzględną do pliku config.php i na jej podstawie możesz dodawać katalogi do include_path. Dzięki temu niezależnie, gdzie będzie ulokowana aplikacja będzie działała prawidłowo, o ile nie zmienisz struktury katalogów względem pliku config.php
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.