Comment savoir où est définie une fonction en PHP ?

Afficher la discussion

Améliorer l’article

Enregistrer l’article

J’aime l’article

Afficher la discussion

Améliorer l’article

Enregistrer l’article

J’aime l’article

Lorsque nous réalisons des projets, cela inclut plusieurs modules, chaque module étant divisé en plusieurs fichiers et chaque fichier contenant de nombreuses lignes de code. Ainsi, lorsque nous déclarons une fonction quelque part dans les fichiers et que nous oublions ce que faisait la fonction ou que nous voulons modifier le code de cette fonction, nous ne trouvons pas où se trouve la fonction ! Cet article va donc vous aider à trouver l’emplacement de la fonction.
Afin d’obtenir l’emplacement de la fonction en PHP, nous pouvons utiliser la classe intégrée FonctionRéflexion(). Lorsque le nom de la fonction dont nous avons besoin de détails est passé au constructeur de classe, il obtient plusieurs détails concernant cette fonction.

  • getFileName : Il renvoie l’emplacement du fichier de la fonction.
  • getNumberOfParameters : Il renvoie le nombre de paramètres passés à la fonction.
  • getStartLine : Il renvoie la ligne de départ de la fonction.

Syntaxe:

$details = new ReflectionFunction('function_name');

Utilisez ensuite les fonctions ci-dessus pour accéder à tout ce dont vous avez besoin. Collez le code ci-dessous dans le code principal et vous obtiendrez les détails de cette fonction.

PHP

<?php

$details = new ReflectionFunction('printing');

print $details->getFileName() . ':' . $details->getStartLine();

?>

Étapes pour exécuter le code :

  • Créer un fichier nommé comme nom_fichier.php
  • Copiez le code ci-dessus dans le fichier.
  • Enregistrez le fichier dans le dossier de votre serveur localhost. Dans le cas de WampServer, recherchez le dossier “www” dans le dossier “wamp64” du lecteur C et enregistrez-y le fichier.
  • Exécutez votre serveur wamp.
  • Ouvrez n’importe quel navigateur et tapez localhost/fun.php pour obtenir la sortie suivante.

Production:

C:\wamp64\www\file_name.php : 2 

Les exemples ci-dessous illustrent la ReflectionFunction en PHP :
Exemple 1: Supposons que dans le code donné nous voulions trouver l’emplacement de la fonction ‘impression’. Dans la sortie, le nom du fichier et l’emplacement de la fonction d’impression peuvent être vus.

php

<?php

function printing()

{

    echo 'Welcome to GeeksforGeeks';

}

$details = new ReflectionFunction('printing');

echo 'File location : '.$details->getFileName().

', Starting line : ' . $details->getStartLine().

', Parameters passed : '.$details->getNumberOfParameters();

?>

Production:

File location : /home/7de5f19b219d214c719df5f3839a7f61.php, 
Starting line : 2, Parameters passed : 0

Exemple 2 : Supposons que dans le code donné nous voulions trouver l’emplacement de la fonction ‘geeks’. Dans la sortie, le nom de fichier, l’emplacement, la ligne de départ et le paramètre passé de la fonction geeks peuvent être vus.

php

<?php

function printing() {

    echo 'Welcome to GeeksforGeeks';

}

function geeks() {

    echo 'This is the article How to find out where

         a function is defined using PHP?';

}

$details = new ReflectionFunction('geeks');

print 'File location :'.$details->getFileName().

' Starting line :' . $details->getStartLine().

' No. of parameters passed :'.$details->getNumberOfParameters();

?>

Production:

File location :/home/dd96d70bdf5ff03fea0ea24110bae9ff.php 
Starting line :7 No. of parameters passed :0

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *