Autor Zpráva
Tomáš Čepička
Profil
Zdravím, mám dotaz na ty zběhlejší v PHP: znáte nějaký způsob, jak se za běhu skriptu dostat k tělu closure, neboli anonymní funkce? Pomocí běžné reflexe jsem schopen zjistit argumenty, ale ne obsah těla, tedy samotný její kód. Jediná cesta která mě napadá, je zjistit název souboru skriptu a číslo řádku, kde je closure použita, načíst ho a tělo v něm najít. Tento přístup však má svá úskalí (více closur na jednom řádku atd.) a rozhodně jej nelze považovat za elegantní.

Kdyby někoho napadlo něco lepšího, budu moc rád. Díky.

Tomáš
Jan Tvrdík
Profil
Tomáš Čepička:
V prvé řadě je dobré něco takového vůbec nedělat. Potřebuješ-li to, tak dost možná děláš něco špatně. Korektní způsob, jak to tělo získat je např. použít funkci token_get_all.
Tomáš Čepička
Profil
Jan Tvrdík:
Díky za radu i za upozornění. Proč by se takové věci neměly dělat samozřejmě chápu a taky bych od toho ostatní odrazoval, kdybych nevěděl o co jde :) Jedná se o dost specifický případ.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: