Dans PHP, les fonctions intégrées sont des fonctions prédéfinies que les utilisateurs peuvent utiliser directement sans écrire. Les fonctions personnalisées sont des fonctions écrites par les utilisateurs en fonction de leurs besoins. Si vous souhaitez répertorier toutes les fonctions intégrées et personnalisées dans PHP, vous pouvez utiliser la fonction get_defined_functions fournie par PHP. Cette fonction peut non seulement énumérer toutes les fonctions définies dans l'environnement PHP actuel, mais également diviser ces fonctions en deux catégories: les fonctions intégrées et les fonctions définies par l'utilisateur.
get_defined_functions est une fonction intégrée PHP qui renvoie un tableau contenant toutes les fonctions définies. Ce tableau a deux clés:
Internal : un tableau contenant toutes les fonctions intégrées.
Utilisateur : un tableau contenant toutes les fonctions définies par l'utilisateur.
Cette fonction n'a pas de paramètres et renverra un tableau multidimensionnel lorsqu'il est appelé, afin que les développeurs puissent afficher la définition de toutes les fonctions.
Vous pouvez utiliser Get_Defined_Functions directement pour obtenir une liste de toutes les fonctions. Voici un exemple de code montrant comment répertorier les fonctions intégrées et personnalisées.
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Personnaliser une fonction simple</span></span><span>
</span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">my_custom_function</span></span><span>(</span><span><span class="hljs-params"></span></span><span>) {
</span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-string">"Hello, World!"</span></span><span>;
}
</span><span><span class="hljs-comment">// Obtenez toutes les fonctions définies</span></span><span>
</span><span><span class="hljs-variable">$defined_functions</span></span><span> = </span><span><span class="hljs-title function_ invoke__">get_defined_functions</span></span><span>();
</span><span><span class="hljs-comment">// Liste des fonctions intégrées</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Fonctions intégrées:\n"</span></span><span>;
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$defined_functions</span></span><span>[</span><span><span class="hljs-string">'internal'</span></span><span>]);
</span><span><span class="hljs-comment">// Liste des fonctions personnalisées</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"\nFonctions personnalisées:\n"</span></span><span>;
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$defined_functions</span></span><span>[</span><span><span class="hljs-string">'user'</span></span><span>]);
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
Dans cet exemple, nous personnalisons d'abord une fonction simple my_custom_function , puis appelons get_defined_functions pour obtenir toutes les fonctions dans l'environnement actuel. En imprimant le tableau, nous pouvons clairement voir la différence entre les fonctions intégrées et personnalisées.
Lorsque vous exécutez le code ci-dessus, les résultats de sortie sont à peu près les suivants:
<span><span>Fonctions intégrées:
Array
(
[</span><span><span class="hljs-meta">0</span></span><span>] => abs
[</span><span><span class="hljs-meta">1</span></span><span>] => acos
[</span><span><span class="hljs-meta">2</span></span><span>] => acosh
...
)
Fonctions personnalisées:
Array
(
[</span><span><span class="hljs-meta">0</span></span><span>] => my_custom_function
)
</span></span>
Comme indiqué ci-dessus, get_defined_functions répertorie toutes les fonctions intégrées dans le tableau interne , et notre fonction personnalisée My_custom_function est répertoriée dans le tableau utilisateur .
get_defined_functions ne fera que répertorier les fonctions définies dans le script actuel, y compris les fonctions dans la portée actuelle. Pour les fonctions introduites à partir de fichiers externes (tels que les fonctions dans les fichiers introduits via inclure ou requise ), les fonctions sont également répertoriées si ces fichiers ont été chargés avant l'exécution du script actuel.
Si vous avez beaucoup de fonctions personnalisées, GET_DEFINED_FONCTIONS peut être très utile, en particulier dans les scénarios de débogage et de génération de documents.
get_defined_functions est une fonction très pratique qui peut aider les développeurs à énumérer rapidement toutes les fonctions définies dans un environnement PHP. Grâce à lui, nous pouvons facilement faire la distinction entre les fonctions intégrées et personnalisées, aidant à mieux gérer et déboguer le code PHP.