bajmar
26.06.2014, 09:46:54
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
<?php
function __autoload($className) {
include_once($className . ".class.php");
}
folder/folder/skrypt.php
include_once('../../config.php');
$mojaKlasa= new mojaKlasa();
//..
Pyton_000
26.06.2014, 11:44:24
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
26.06.2014, 13:42:04
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