Crear un esquema de clase PHP
-
22-10-2019 - |
Pregunta
Estoy buscando una función o clase que pueda describir efectivamente una clase:
class MyClass{
/*
* Perhaps include the function comments
* in the function.
*/
function mainFunction(){
//Does Something
}
function functionWithArgs($arg1,$arg2=false){
//Does Something
//The function I want will give e the arguments w/default values
}
}
¿Existe una función o biblioteca que pueda darme algún tipo de acceso a la información sobre esta clase, o incluso al archivo?
ex.
get_file_outline('fileWithAboveClass.php');
o
get_class_outline('MyClass');
¿Alguien sabe o conoce una forma de escribir esto fácilmente?
Solución
Echa un vistazo al PHP API de reflexión
//use the ReflectionClass to find out about MyClass
$classInfo = new ReflectionClass('MyClass');
//then you can find out pretty much anything you want to know...
$methods = $classInfo->getMethods();
var_dump($methods);
//you can even extract your comments, e.g.
$comment=$classInfo->getMethod('mainFunction')->getDocComment();
Tenga en cuenta que para la extracción de comentarios al trabajo, deben formatearse como comentarios de PhpDoc / Doxygen, y comenzar con una apertura /**
Otros consejos
También hay una opción de línea de comando disponible para inspeccionar funciones y clases.
$ php --rc DateTime
le dará todos los detalles sobre la clase de fecha y hora, mientras que
$ php --rf in_array
Te dará los argumentos de la función "in_array".
Si está utilizando el terminal al codificar, puede ser bastante útil de usar en lugar de buscarlo en el manual de PHP todo el tiempo;)