Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Fajl gde je definisana klasa

[es] :: PHP :: Fajl gde je definisana klasa

[ Pregleda: 4218 | Odgovora: 12 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

_korso_

Član broj: 82797
Poruke: 163
212.200.90.*



+1 Profil

icon Fajl gde je definisana klasa13.06.2007. u 17:51 - pre 212 meseci
Kako da za neki objekat
Code:
$obj = new Test() 

saznam fizicku lokaciju fajla u kome se nalazi ta Test klasa (fajl u kome je deklarisana), koja je tip objekta $obj.
Trazio sam po manual-u, ali mislim da nema takve funkcije ili mozda gresim...

Naravno skript u kome se pravi ovaj objekat je razliciti od skripta u kome se nalazi Test klasa.


 
Odgovor na temu

bzero
dev null
europe

Član broj: 5907
Poruke: 371
*.dynamic.sbb.co.yu.

Jabber: bzero@elitesecurity.org
Sajt: www.google.com/search?q=b..


Profil

icon Re: Fajl gde je definisana klasa13.06.2007. u 18:15 - pre 212 meseci
Prvo sto meni pada na pamet je da u klasu test stavis neki ovakav metod:
Code:

class Test {
    
    function filename() {
        return __FILE__;
    }
}


pa onda mozes to da koristis kada ti je potrebno:
Code:

$obj = new Test();
print $obj->filename();



Never trust an operating system you don't have sources for.
 
Odgovor na temu

_korso_

Član broj: 82797
Poruke: 163
*.adsl-1.sezampro.yu.



+1 Profil

icon Re: Fajl gde je definisana klasa13.06.2007. u 22:29 - pre 212 meseci
Slazem se sa tobom, ali problem je upravo sto ja ne mogu da menjam klasu Test. Ona je takva
kakva je...
 
Odgovor na temu

Miroslav Ćurčić
ex mVeliki
Novi Sad

Član broj: 19034
Poruke: 1118
*.dynamic.sbb.co.yu.



+19 Profil

icon Re: Fajl gde je definisana klasa13.06.2007. u 23:02 - pre 212 meseci
Nasledi originalnu klasu i dodaj joj tu funkciju.
Nadam se da možeš da tu novu klasu dopišeš u istu datoteku.
Code:

class MojTest extends Test {
    function filename() {
        return __FILE__;
    }
}

"The quieter you become, the more you are able to hear."
Blog | PowerCMS
 
Odgovor na temu

afwt
AF Web Team
Novi Sad/Chicago

Član broj: 8220
Poruke: 337
*.hsd1.il.comcast.net.

Sajt: milos.srdjevic.net/blog


+1 Profil

icon Re: Fajl gde je definisana klasa14.06.2007. u 02:19 - pre 212 meseci
hmmmm..... pa posto se bojim da sam te razumeo.... ako se sme znati, za sta ti tacno to treba? Sve mi mirise da hoces da 'aknes neki enkodiranu aplikaciju... Je l' to? :-)
ZelenaLutrija.com - Saznajte sve o lutriji za zelenu kartu (doživotni boravak u Sjedinjenim Američkim Državama)
 
Odgovor na temu

_korso_

Član broj: 82797
Poruke: 163
212.200.90.*



+1 Profil

icon Re: Fajl gde je definisana klasa14.06.2007. u 08:06 - pre 212 meseci
Ne mogu ni da je nasledim (tj. realno mogu, ali u tom slucaju bi morao da nasledim jos 100 i vise klasa),
a to mi nije bas cilj :) Resenje mora da bude univerzalno (bez obzira na metode i propertie-e koje ima
klasa TEST ili njoj neka slicna).
Inace ovo mi treba za neki backtrace.
 
Odgovor na temu

mika
NBG-ML

Član broj: 55
Poruke: 640
*.adsl-2.sezampro.yu.



+1 Profil

icon Re: Fajl gde je definisana klasa14.06.2007. u 08:53 - pre 212 meseci
Mozes i sa statickim funkcijama da probas, koristeci nasledjivanje:

Code:

class testKlasa extends originalnaKlasa {
    static function getFilename() {
        return __FILE__;
    }
}


i onda gledas koji je fajl sa:
Code:

echo testKlasa::getFilename();


Ja bih to tako radio.


EDIT: staticka funkcija je dodata da bi se izbeglo instanciranje klase.
Bolje 100 godina biti milioner nego nedelju dana siromašak
(c) Alan ford
 
Odgovor na temu

_korso_

Član broj: 82797
Poruke: 163
212.200.90.*



+1 Profil

icon Re: Fajl gde je definisana klasa14.06.2007. u 08:59 - pre 212 meseci
Ali ako dobro vidim to je isto sto je napisao i mVeliki samo bez static funkcije
 
Odgovor na temu

mika
NBG-ML

Član broj: 55
Poruke: 640
*.adsl-2.sezampro.yu.



+1 Profil

icon Re: Fajl gde je definisana klasa14.06.2007. u 09:20 - pre 212 meseci
Tacno tako, s tom razlikom sto se izbegava instanciranje klase, a to je prakticnije-za ovu situaciju.

Ne vidim drugi nacin kako bi to odradio.

Bolje 100 godina biti milioner nego nedelju dana siromašak
(c) Alan ford
 
Odgovor na temu

_korso_

Član broj: 82797
Poruke: 163
212.200.90.*



+1 Profil

icon Re: Fajl gde je definisana klasa14.06.2007. u 09:37 - pre 212 meseci
Ok, naravno...
Ne vidim ni ja trenutno nacin da ovo resim :)
Bar ne na prvi pogled...
Mada verujem da je nekako moguce.


 
Odgovor na temu

Miroslav Ćurčić
ex mVeliki
Novi Sad

Član broj: 19034
Poruke: 1118
*.dynamic.sbb.co.yu.



+19 Profil

icon Re: Fajl gde je definisana klasa14.06.2007. u 10:39 - pre 212 meseci
A da uradiš ovo:
originalne datoteke rename-uješ dodajući im recimo "_orig" u nastavku,
kreiraš nove datoteke u originalnom imenu a u njima u neki globalni array prijaviš sve klase ova druga sadrži i posle include-uješ originale.

Moglo bi i automatski, recimo sa get_declared_classes na početku dobiješ listu postojećih klasa, zatim include pa opet pozoveš get_declared_classes pa sa array_diff pronađi šta je novo stiglo pa to prijavi u globalni array.

Naravno taj array treba da ima index po imenu same klase a vrednost je path.
"The quieter you become, the more you are able to hear."
Blog | PowerCMS
 
Odgovor na temu

_korso_

Član broj: 82797
Poruke: 163
212.200.90.*



+1 Profil

icon Re: Fajl gde je definisana klasa15.06.2007. u 08:14 - pre 212 meseci
Ok, hvala...
Probacu
 
Odgovor na temu

Miroslav Ćurčić
ex mVeliki
Novi Sad

Član broj: 19034
Poruke: 1118
*.dynamic.sbb.co.yu.



+19 Profil

icon Re: Fajl gde je definisana klasa22.06.2007. u 21:11 - pre 212 meseci
Eh, sad se setih,
PHP od verzije 4.3 ima funkciju debug_backtrace(); koja ti vraća detaljno kroz koje si sve funkcije (možda i klase) ušao u trenutku njenog poziva, isprobaj.
"The quieter you become, the more you are able to hear."
Blog | PowerCMS
 
Odgovor na temu

[es] :: PHP :: Fajl gde je definisana klasa

[ Pregleda: 4218 | Odgovora: 12 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.