PDA

Pogčedajte punu verziju : PHP4 - get_class()


Ilija Studen
06. 06. 2007., 00:03
Da li je ikako moguće dobiti stvarno ime klase u PHP4. get_class() u PHP4 vraća lowercase ime klase, ali su meni (iz čisto tehničkih razloga) bitna velika slova.

Klasa: CompanyAdministrator

PHP4 get_class() - companyadministrator
PHP5 get_class() - CompanyAdministrator

Treba mi druga vrednost ako ju je ikako moguće dobiti u PHP4.

zira
06. 06. 2007., 08:39
Ne na elegantan nacin... sto je glupost naravno.
Doduse , postoji jedan nacin za koji bih mogao reci da je sve osim elegantan, a to je da parsiras sam PHP fajl i izvuces regexpom ime klase na osnovu lowercase imena.
Naravno, ako si konzistentan u davanju imena klasa, mozes koristiti i svoju funkciju koja ce ti taj lowercase naziv prebaciti u camelCase format.

Nijedno od navedenih rjesenja ne bih koristio :)

Ilija Studen
06. 06. 2007., 10:09
Pa to. Ima par načina koji bi radili posao (npr. uvek mi ide jedna klasa -> jedan fajl gde je ime fajla ImeKlase.class.php pa odatle mogu da izvučem), ali ih definitivno ne bih koristio pošto su previše... Hackovana :)

Smislio sam drugi način da rešim konkretan problem (jutro pametnije od večeri :D ), ali zahteva od programera da u izvesnim situacijama dodaje jedan parametera nekim klasam. Bolje i to nego da klasa drlja po disku da bi saznala kako se stvarno zove.

MrSteel
06. 06. 2007., 10:28
ili da registrujes klase odn. njihova imena u neki array pa da izvlacis
array_search sa lowercase-om pa da ti preko indeksa pronadjes naziv klase bez lowercase-a

Ilija Studen
06. 06. 2007., 10:51
Tražio sam u dokumentaciji, ali nisam našao funkcija koja vraća niz registrovanih klasa. Čak i da postoji (najverovatnije postoji, ali sam je omašio) velika je verovatnoća da će ti vratiti niz lowercase imena klasa.

A ja da pratim svaku definisanu klasu - ne pada mi na pamet. Traćenje i vremena i resursa.

MrSteel
06. 06. 2007., 11:04
da ok,
da si mozda to radio od pocetka ne bi bio problem, nije neki resurs niz od 200 stringova ;

srdjevic
07. 06. 2007., 21:18
sta kaze http://www.php.net/manual/en/function.get-declared-classes.php ?

Ilija Studen
07. 06. 2007., 23:21
Hvala. Tražio sam get_defined_classes() jer postoje get_defined_functions() i get_defined_constants() funkcije.

Problem koji sam imao sam rešio, ali ovo mnogo pomaže jer ću moći da vidim koje su tačno klase učitane kada budem optimizovao kod.

Thanks!