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