To je ono sto je "lepo", medjutim ja sam uvek za ono sto je brze, pa makar ne tako lepo. Posle dosta testiranja, moja autoload funkcija izgleda otrilike ovako:
function __autoload ($class_name)
{
require_once PATH_GDE_SU_LIB."{$class_name}/class.{$class_name}.php";
}
// cak mislim da je i require_once nepotrebno, moze obican require, jer ako je vec jednom ucitana klasa, ne bi trebalo ponovo da zove __autoload kada ponovo koristis objekat, ali to nisam proverio, sad mi pade na pamet.
Zasto tako (priznajem) bez veze?
Nema nikakve provere "is_file()" ili "file_exists()"... sta ce mi to? Da bih napisao "Greska: file ne postoji"? Pa ok, to ce sam PHP da mi ispise ako loadujem file koji ne postoji, a racuna se da neces da pustis nesto "live" dok bar jednom ne probas.
Tera te da se striktno drzis naming convention koju sam uvedes. Ne moze da nadje klasu "Test"? Pa nazovi je kako treba pa ce da je nadje. Napravio si slovnu gresku pa si umesto Test::nesto(), napisao Trst::nesto() - jos bolje, odmah ce da prijavi gresku.
Vidim da postoje citave autloader klase, koje imaju po 200 linija koda... keiraju putanje, pa ... ne znam, ... sigurno je to lepo, pitanje je koliko je potrebno.
__________________
Goran Pilipović a.k.a. Ugly Fingers Bradley f.k.a. bluesman
I don't always know what I'm talking about but I know I'm right!
|