¿Cómo saber dónde se define una función usando PHP?

Cuando hacemos proyectos, incluye múltiples módulos donde cada módulo se divide en múltiples archivos y cada archivo contiene muchas líneas de código. Entonces, cuando declaramos una función en algún lugar de los archivos y olvidamos qué estaba haciendo la función o queremos cambiar el código de esa función, ¡pero no podemos encontrar dónde está la función! Así que este artículo te ayudará a encontrar la ubicación de la función.
Para obtener la ubicación de la función en PHP, podemos usar la clase incorporada ReflectionFunction() . Cuando el nombre de la función sobre la que estamos solicitando detalles se pasa al constructor de la clase, obtiene varios detalles sobre esa función. 
 

  • getFileName: Devuelve la ubicación del archivo de la función.
  • getNumberOfParameters: Devuelve el número de parámetros pasados ​​a la función.
  • getStartLine: Devuelve la línea de inicio de la función.

Sintaxis: 
 

$details = new ReflectionFunction('function_name');

Luego use las funciones anteriores para acceder a lo que necesite. Pegue el siguiente código en el código principal y obtendrá los detalles de esa función. 
 

PHP

<?php
$details = new ReflectionFunction('printing');
print $details->getFileName() . ':' . $details->getStartLine();
?>

Pasos para ejecutar el código: 
 

  • Cree un archivo llamado file_name.php
  • Copie el código dado arriba en el archivo.
  • Guarde el archivo en la carpeta de su servidor localhost. En el caso de WampServer, busque la carpeta ‘www’ dentro de la carpeta ‘wamp64’ en la unidad C y guarde el archivo allí.
  • Ejecute su servidor Wamp.
  • Abra cualquier navegador y escriba localhost/fun.php para obtener el siguiente resultado.

Producción: 
 

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

Los siguientes ejemplos ilustran ReflectionFunction en PHP:
Ejemplo 1: Supongamos que en el código dado queremos encontrar la ubicación de la función ‘imprimir’. En la salida, se puede ver el nombre del archivo y la ubicación de la función de impresión.
 

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();
?>

Producción: 
 

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

Ejemplo 2: supongamos que en el código dado queremos encontrar la ubicación de la función ‘geeks’. En la salida, se pueden ver el nombre del archivo, la ubicación, la línea de inicio y el parámetro pasado de los geeks de la función.
 

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();
 
?>

Producción: 
 

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

Publicación traducida automáticamente

Artículo escrito por anand27 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *