Witam,
piszę własny zaciemniacz kodu pod mój drobny projekt. Mam jednak problem z ukryciem wywołań standardowych funkcji, a dokładniej z ich wywołaniem...
Założmy, że mam funkcję:
preg_match_all($a, $b, $c);
I nazwę funkcji otrzymuję z wywołania funkcji o przykładowej nazwie f('123', 'abc'), to aby ją wywołać musiałbym ją przechować w pośredniej zmiennej (coś w stylu f(..)($a, $b, $c) nie działa). Niestety taka możliwość nie zawsze występuje... więc trzeba się obyć bez tej zmiennej. W manualu php znalazłem takie cudo jak call_user_func. Po zaciemnieniu, wygląda to mniej więcej tak:
call_user_func($f('123', 'abc'), $a, $b);
Wszystko działa pięknie... do czasu. Jak się okazało, call_user_func nie jest w stanie przekazać trzeciego parametru przez referencję, więc wszystko mi się wysypuje.
Zakładam, że w żaden sposób nie jestem w stanie zmusić call_user_func, aby się zachowywało tak jak należy, więc mam trochę inne pytanie. W jaki sposób mogę to zaciemnić? A może jestem w stanie wywołać jakoś inaczej funkcję otrzymując jej nazwę z innej funkcji?
coś w stylu $funcName($a, $b, $c) działa idealnie, ale niestety nie wszędzie da się coś takiego zrobić...
z góry dzięki za pomoc