Autor | Zpráva | ||
---|---|---|---|
WanTo Profil |
#1 · Zasláno: 19. 6. 2006, 18:52:11
Ve funkci f() bych potřeboval zjistit, v jakém souboru a na jakém řádku byla tato funkce volána. Nějaké ty konstanty na to sice existují, jenže ty pak vždy ukáží na funkci f().
Nemáte někdo nějaký nápad? Díky. |
||
Leo Profil |
#2 · Zasláno: 19. 6. 2006, 18:54:42
Boze k cemu to? Leo
|
||
WanTo Profil |
#3 · Zasláno: 19. 6. 2006, 18:59:04
V PHP4 jsem se rozhodl napodobit abstraktní metody. Mám pomocnou funkci e_ab(), která vytiskne, že byla volána abstraktní metoda, a ukončí skript. Potřebuji, aby tato pomocná funkce e_ab() zjistila, odkud byla abstraktní metoda volána.
Příklad: class Neco { function abstraktni() { e_ab("Neco::abstraktni"); //tato metoda je abstraktní a nebyla překrytá } } Ve funkci e_ab potřebuji zjistit, odkud jsem volal Neco::abstraktni(). |
||
Leo Profil |
#4 · Zasláno: 19. 6. 2006, 19:02:44
OOP neumim, ale urcite na to neco existuje, bez potreby cisel radku apod. Co budete delat, pokud pripisete kus kodu a radky se zmeni? Leo
|
||
medden Profil * |
#5 · Zasláno: 19. 6. 2006, 19:06:19
debug_backtrace(), ale ak sa ozaj snažíš zabrániť volaniu abstraktných metód, tak ideš na to dosť blbo. To radšej použiť trigger_error alebo si to dať do komentára, že toto je abstraktné, a držať potom vývojárov na uzde, ale to sme ti tu už tuším hovorili. Alebo použiť PHP5 :-)
|
||
medden Profil * |
#6 · Zasláno: 19. 6. 2006, 19:07:16
Ale debug_backtrace() len od 4.3.0
|
||
WanTo Profil |
#7 · Zasláno: 19. 6. 2006, 19:11:01
medden
Teďka tam mám trigger_error. Každopádně se tam snažím nějak propašovat to číslo řádku :-) |
||
medden Profil * |
#8 · Zasláno: 19. 6. 2006, 19:14:34
A to ti tam nestačí?? :-) Nerozumiem čo tam chceš dať s tými riadkami.
|
||
WanTo Profil |
#9 · Zasláno: 19. 6. 2006, 19:18:42
Jde mi o to, abych měl ve výstupu číslo řádku, kde byla abstraktní metoda volána. Teďka mám v popisu chyby číslo řádku, kde byla vyvolána trigger_error(), tedy funkci e_ab().
|
||
medden Profil * |
#10 · Zasláno: 19. 6. 2006, 19:31:29
Jaj, jasne. Tak to tam prihoď do toho trigger error celý debug_print_backtrace() zachytený cez ob funkcie. Inak to je celkom dobrá vec, tieto backtracy, keď potrebuješ viac informácií o tej chybe...
|
||
prochazka.zde.cz Profil * |
#11 · Zasláno: 20. 6. 2006, 16:37:07
neco podobneho jsem delal ve visual basicu. A to tak ze jsem si udelal strukturu kde jsem mel promenou number pro pripadnou navatovou hodnotu, promenou string pro pripadnou navratovou funkci a strukturu error kde byl string popis chyby, cislo chyby, toto byly systemov hlasky, ktere jsem potlacil na zacatku pomoci on goto error a jeste jsem po kazdem skoceni do nejake funkce ulozil jeji nazev. A kdy se me z nejakeho duvodu vyrobila chybenka, tak jsem vedel vse potrebne. Mam takove tuseni ze se da v php taky presmerovat vektor pro obslouzeni pripadne chybenky. Ale s tim cislem radku na to zapomente. php neni assembler ...
|
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0