Reflexión PHP
Nette\Utils\Reflection es una clase estática con funciones útiles para PHP reflection. Su propósito es arreglar fallas en clases nativas y unificar el comportamiento a través de diferentes versiones de PHP.
Instalación:
Todos los ejemplos asumen que el siguiente alias de clase está definido:
areCommentsAvailable(): bool
Averigua si reflection tiene acceso a los comentarios de PHPdoc. Los comentarios pueden no estar disponibles debido a la caché de opcode, véase por ejemplo la directiva opcache.save-comments.
expandClassName(string $name, ReflectionClass $context): string
Expande el $name
de la clase a nombre completo en el contexto del $context
, es decir, en el contexto
de su espacio de nombres y alias definidos. Así, devuelve cómo el analizador sintáctico de PHP entendería $name
si estuviera escrito en el cuerpo de $context
.
getMethodDeclaringMethod(ReflectionMethod $method): ReflectionMethod
Devuelve una reflexión de un método que contiene una declaración de $method
. Normalmente, cada método es su
propia declaración, pero el cuerpo del método también puede estar en el trait y bajo un nombre diferente.
Debido a que PHP no proporciona suficiente información para determinar la declaración real, Nette usa su propia heurística, la cual debería ser confiable.
getPropertyDeclaringClass(ReflectionProperty $prop): ReflectionClass
Devuelve un reflejo de una clase o trait que contiene una declaración de propiedad $prop
. La propiedad también
puede ser declarada en el trait.
Debido a que PHP no proporciona suficiente información para determinar la declaración real, Nette usa su propia heurística, la cual no es confiable.
toString($reflection): string
Convierte una reflexión en una cadena legible por humanos.