Function list of php file

前端 未结 12 1310
南方客
南方客 2020-11-28 14:40

How to get list of functions that are declared in a php file

12条回答
  •  半阙折子戏
    2020-11-28 15:05

    Well for what ever reason if you need to do this I show you:

    Example file: Functions.php (I just wrote some random shit does not Mather it works with everything)

    
                            




    he johannes!

    klik hier voor random text:

    "; break; case 1: echo "bouw formulier"; break; case 2: echo "verwerk formulier"; break; default: echo "[Error: geen mode gedefinieerd voor functie '$fnaam'!]"; } } function randomding($fnaam, $mode, $array){ $randomar = array('He pipo wat mot je!','bhebhehehehe bheeeee. rara wie ben ik?','poep meloen!','He johannes, wat doeeeeee je?

    ','knopje de popje opje mopje','abcdefghijklmnopqrstuvwxyz, doe ook nog mee','Appien is een **p!!!!!! hahhahah



    hahaha','Ik weet eiegelijk niks meer te verzinnen','echt ik weet nu niks meer','nou oke dan[[][(!*($@#&*$*^éäåðßð','he kijk een microboat:
    microboat'); $tellen = count($randomar); $tellen--; $rand = rand(0, $tellen); echo $randomar[$rand]; } function watdoetjho($fnaam, $mode, $array){ $dit = $array['doen']; echo "Johannes is: $dit"; } ?>

    We have 3 functions inside here:

    1. johannes
    2. randomding
    3. watdoetjho

    But we also call these functions:

    1. count
    2. rand

    If we use get_defined_functions we will get all functions inside scope of script. Yes the PHP functions are separated from the user declared ones but still we want from a specific file.

    If we use token_get_all we will receive a large amount of data we need to separate first.

    I found these number which we need to make some connections inside the array to match the user functions. Otherwise we will have a list including all of php functions which are called upon.

    The numbers are:

    • 334 (List of all the user declared functions)
    • 307 (List of all the function names)

    If we filter the array to take all the 334 elements we have this:

    334 -|- function -|- 5

    But we need the function name and all the array elements are in relation with the 3rd value. So now we need to filter all the array elements which match the 3rd value (5) and the constant number 307.

    This will give us something like this:

    307 -|- johannes -|- 5

    Now in PHP it will look like this:

     $value){
    
                //filter all user declared functions
            if($value[0] == 334){
                       //Take a look for debug sake
                //echo $value[0] .' -|- '. $value[1] . ' -|- ' . $value[2] . '
    '; //store third value to get relation $chekid = $value[2]; } //now list functions user declared (note: The last check is to ensure we only get the first peace of information about the function which is the function name, else we also list other function header information like preset values) if($value[2] == $chekid && $value[0] == 307 && $value[2] != $old){ // just to see what happens echo $value[0] .' -|- '. $value[1] . ' -|- ' . $value[2] . '
    '; $functions[] = $value[1]; $old = $chekid; } } ?>

    Result in this case is:

    307 -|- johannes -|- 5
    307 -|- randomding -|- 31
    307 -|- watdoetjho -|- 43
    

提交回复
热议问题