Maison  >  Article  >  développement back-end  >  Comment récupérer par programme le code source de la fonction PHP

Comment récupérer par programme le code source de la fonction PHP

Susan Sarandon
Susan Sarandonoriginal
2024-10-19 07:32:01756parcourir

How to Programmatically Retrieve PHP Function Source Code

Récupération du code source de la fonction PHP par des moyens programmatiques

Question :

Est-il possible d'extraire par programme le code source de une fonction PHP basée sur son nom ? Essentiellement, l'objectif est de récupérer la définition de la fonction (par exemple, function blah($a, $b) { return $a*$b; }) de manière dynamique.

De plus, existe-t-il des fonctions PHP qui peuvent être utilisé pour la reconstruction de code autodescriptif, éliminant ainsi le besoin d'accéder directement au fichier source ? Java propose l'API Reflection à cet effet, mais existe-t-il un équivalent PHP ?

Réponse :

En PHP, la classe ReflectionFunction fournit les fonctionnalités nécessaires à cette tâche. Voici un exemple :

<code class="php">$func = new ReflectionFunction('myfunction');
$filename = $func->getFileName();
$start_line = $func->getStartLine() - 1; // subtract 1 to account for line numbering peculiarities
$end_line = $func->getEndLine();
$length = $end_line - $start_line;

$source = file($filename);
$body = implode("", array_slice($source, $start_line, $length));

print_r($body);</code>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn