I took a look at the source code of PHP in order to learn a bit.
I came across /PHP_5_2/Zend/zend_builtin_functions.c
and saw over there the next line:
retval = (zend_hash_find(EG(function_table), lcname, Z_STRLEN_PP(function_name)+1, (void **)&func) == SUCCESS);
I'm interested in the next part of this line:
zend_hash_find(EG(function_table), lcname,
I don't know C
that well but I can guess that zend_has_find
is looking for a value which its key is lcname
in the EG(function_table)
. I know that this EG(function_table)
exists in both the compiler and executor globals. Iterating through this hashtable gives you every callable function.
I can't edit my server's php source code , is there a way (or a wiki) of that EG(function_table)
structre?
To be more specific , Is there a way to see the information about the functions it contains?
Thanks.