Fonctions internes sont à l'index internal tandis que la fonction définie par l'utilisateur sont à l'index user.
Noter que ce sera la sortie de toutes les fonctions qui ont été déclarés précédent à cet appel. Ce qui signifie que si vous include() fichiers avec des fonctions, ceux-ci seront dans la liste. Il n'existe aucun moyen de séparer les fonctions de fichier par d'autres que de s'assurer que vous n'avez pas include() n'importe quel fichier avant l'appel de get_defined_functions().
Si vous devez avoir une liste de fonctions par fichier, la suite tentera pour récupérer une liste de fonctions par l'analyse de la source.
get_defined_functions() récupère tous mes fonctions déclarées à partir de tous les fichiers, pas de exactement un seul fichier! Voir ma réponse mis à jour, ce qui vous donnera une liste des fonctions disponibles, fichier par fichier. Toute personne utilisant ce peut vouloir ajouter T_CURLY_OPEN le commutateur afin d'attraper les cordes, comme "hello {$name}"
Vous pouvez utiliser get_defined_functions() avant et après vous d'inclure le fichier, et de regarder ce qui est ajouté à la matrice de la deuxième fois. Depuis, ils semblent être dans l'ordre de définition, vous pouvez simplement utiliser l'index comme ceci:
Ensuite, vous pouvez faire une boucle pour trouver la fonction de jetons avec les symboles définis. La liste de jetons peut être trouvé http://www.php.net/manual/en/tokens.php
get_defined_functions() récupère tous mes fonctions déclarées à partir de tous les fichiers, pas de exactement un seul fichier! mis à jour. vous pouvez utiliser token_get_all(). Si vous utilisez comprend et requiert, les fonctions définies dans les autres fichiers seront également définies dans ce fichier.
Elle retourne un tableau simple de tous les noms de fonction. Si vous êtes à l'appelant dans le fichier que vous souhaitez numériser, vous pouvez simplement utiliser les éléments suivants:
Bien pour n'importe quelle raison, si vous devez pour ce faire, je vous montre:
Fichier de l'exemple: Functions.php (j'ai juste écrit une partie aléatoire de la merde n'est pas Mather il fonctionne avec tout)
<?php
//gewoon een ander php script. door het gebruiken van meerdere includes kun je gemakkelijk samen aan één app werkenfunction johannes($fnaam, $mode, $array){switch($mode){case0:
echo "
<center>
<br><br><br><br><br>
he johannes!<br><br>
klik hier voor random text:<br>
<input type='submit' value='superknop' id='btn' action='randomding' level='0' loadloc='randomshit' />
<p id='randomshit'></p>
</center>
";break;case1:
echo "bouw formulier";break;case2:
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? <input type="text" name="doen" class="deze" placeholder="Wat doe je?" /> <input type="button" value="vertellen!" id="btn" action="watdoetjho" level="0" loadloc="hierzo" kinderen="deze"> <p id="hierzo"></p>','knopje de popje opje mopje','abcdefghijklmnopqrstuvwxyz, doe ook nog mee','Appien is een **p!!!!!! hahhahah<br><br><br><br> hahaha','Ik weet eiegelijk niks meer te verzinnen','echt ik weet nu niks meer','nou oke dan[[][(!*($@#&*$*^éäåðßð','he kijk een microboat: <br> <img src="https://encrypted-tbn2.gstatic.com/images?q=tbn:ANd9GcS_n8FH6xzf24kEc31liZF6ULHCn2IINFurlFZ_G0f0_F4sLTi74w" alt="microboat" />');
$tellen = count($randomar);
$tellen--;
$rand = rand(0, $tellen);
echo $randomar[$rand];}function watdoetjho($fnaam, $mode, $array){
$dit = $array['doen'];
echo "Johannes is: $dit";}?>
Nous avons 3 fonctions à l'intérieur de ici:
johannes
randomding
watdoetjho
Mais nous faisons également appel à ces fonctions:
compter
rand
Si nous utilisons get_defined_functions nous aurons toutes les fonctions à l'intérieur de la portée de script. Oui les fonctions PHP sont séparés de l'utilisateur déclaré, mais encore nous voulons partir d'un fichier spécifique.
Si nous utilisons token_get_all nous allons recevoir une grande quantité de données dont nous avons besoin pour séparer le premier.
J'ai trouvé ce numéro, nous avons besoin de faire quelques connexions à l'intérieur de la gamme pour correspondre aux fonctions de l'utilisateur. Sinon, nous avons une liste, y compris toutes les fonctions de php qui sont appelés.
Les chiffres sont:
334 (Liste de toutes les fonctions déclarées)
307 (Liste de tous les noms de fonction)
Si on filtre la matrice de prendre toutes les 334 éléments, nous avons ceci:
334 - | - fonction - | - 5
Mais nous avons besoin du nom de la fonction et de tous les éléments du tableau sont en relation avec la 3ème valeur. Alors maintenant, nous avons besoin de filtrer tous les éléments du tableau qui correspond à la 3ème valeur (5) et le nombre constant 307.
Cela va nous donner quelque chose comme ceci:
307 - | - johannes - | - 5
Maintenant en PHP, il ressemblera à ceci:
<?php
error_reporting(E_ALL ^ E_NOTICE);//Or we get these undefined index errors otherwise use other method to search array//Get the file and get all PHP language tokens out of it
$arr = token_get_all(file_get_contents('Functions.php'));//var_dump($arr); //Take a look if you want//The array where we will store our functions
$functions = array();//loop troughforeach($arr as $key => $value){//filter all user declared functionsif($value[0]==334){//Take a look for debug sake//echo $value[0] .' - | - '. $value[1] . ' - | - ' . $value[2] . '<br>';//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].'<br>';
$functions[]= $value[1];
$old = $chekid;}}?>
Pour obtenir la liste de définition et les fonctions utilisées dans le code, avec de petits utile gestionnaire de fichiers, vous pouvez utiliser le code ci-dessous. Profitez-en!
Vous pouvez obtenir une liste de fonction définie par l'aide de
get_defined_functions()
:Fonctions internes sont à l'index
internal
tandis que la fonction définie par l'utilisateur sont à l'indexuser
.Noter que ce sera la sortie de toutes les fonctions qui ont été déclarés précédent à cet appel. Ce qui signifie que si vous
include()
fichiers avec des fonctions, ceux-ci seront dans la liste. Il n'existe aucun moyen de séparer les fonctions de fichier par d'autres que de s'assurer que vous n'avez pasinclude()
n'importe quel fichier avant l'appel deget_defined_functions()
.Si vous devez avoir une liste de fonctions par fichier, la suite tentera pour récupérer une liste de fonctions par l'analyse de la source.
Utiliser à vos propres risques.
Voir ma réponse mis à jour, ce qui vous donnera une liste des fonctions disponibles, fichier par fichier.
Toute personne utilisant ce peut vouloir ajouter
T_CURLY_OPEN
le commutateur afin d'attraper les cordes, comme"hello {$name}"
OriginalL'auteur Andrew Moore
Vous pouvez utiliser get_defined_functions() avant et après vous d'inclure le fichier, et de regarder ce qui est ajouté à la matrice de la deuxième fois. Depuis, ils semblent être dans l'ordre de définition, vous pouvez simplement utiliser l'index comme ceci:
vous avez sauvé mes heures de joachim
OriginalL'auteur joachim
Vous pouvez utiliser le
get_defined_functions()
fonction pour obtenir toutes les fonction définie dans votre script courant.Voir: http://www.php.net/manual/en/function.get-defined-functions.php
Si vous voulez obtenir les fonctions définies dans un autre fichier, vous pouvez essayer d'utiliser http://www.php.net/token_get_all comme ceci:
Ensuite, vous pouvez faire une boucle pour trouver la fonction de jetons avec les symboles définis. La liste de jetons peut être trouvé http://www.php.net/manual/en/tokens.php
mis à jour. vous pouvez utiliser
token_get_all()
. Si vous utilisez comprend et requiert, les fonctions définies dans les autres fichiers seront également définies dans ce fichier.OriginalL'auteur mauris
Si vous n'êtes pas inquiet au sujet de la capture de certains commenté, cela pourrait être la façon la plus simple:
OriginalL'auteur pguardiario
J'ai écrit cette petite fonction pour renvoyer les fonctions dans un fichier.
https://gist.github.com/tonylegrone/8742453
Elle retourne un tableau simple de tous les noms de fonction. Si vous êtes à l'appelant dans le fichier que vous souhaitez numériser, vous pouvez simplement utiliser les éléments suivants:
$functions = get_functions_in_file(__FILE__);
OriginalL'auteur Tony Legrone
J'ai résolu ce problème avec
array_diff
Mise à jour
Pour obtenir le "vrai" nom d'essayer cette
OriginalL'auteur pleinx
Bien pour n'importe quelle raison, si vous devez pour ce faire, je vous montre:
Fichier de l'exemple: Functions.php (j'ai juste écrit une partie aléatoire de la merde n'est pas Mather il fonctionne avec tout)
Nous avons 3 fonctions à l'intérieur de ici:
Mais nous faisons également appel à ces fonctions:
Si nous utilisons
get_defined_functions
nous aurons toutes les fonctions à l'intérieur de la portée de script. Oui les fonctions PHP sont séparés de l'utilisateur déclaré, mais encore nous voulons partir d'un fichier spécifique.Si nous utilisons
token_get_all
nous allons recevoir une grande quantité de données dont nous avons besoin pour séparer le premier.J'ai trouvé ce numéro, nous avons besoin de faire quelques connexions à l'intérieur de la gamme pour correspondre aux fonctions de l'utilisateur. Sinon, nous avons une liste, y compris toutes les fonctions de php qui sont appelés.
Les chiffres sont:
Si on filtre la matrice de prendre toutes les 334 éléments, nous avons ceci:
334 - | - fonction - | - 5
Mais nous avons besoin du nom de la fonction et de tous les éléments du tableau sont en relation avec la 3ème valeur. Alors maintenant, nous avons besoin de filtrer tous les éléments du tableau qui correspond à la 3ème valeur (5) et le nombre constant 307.
Cela va nous donner quelque chose comme ceci:
307 - | - johannes - | - 5
Maintenant en PHP, il ressemblera à ceci:
Résultat dans ce cas est:
OriginalL'auteur botenvouwer
Pour obtenir la liste de définition et les fonctions utilisées dans le code, avec de petits utile gestionnaire de fichiers, vous pouvez utiliser le code ci-dessous. Profitez-en!
OriginalL'auteur msegit
faire inclure dans le fichier et essayez ce qui suit :
OriginalL'auteur Haim Evgi