¿Hay alguna reflexión / introspección / magia en PHP que le permita encontrar el archivo PHP donde se definió una clase (o función) en particular?
En otras palabras, tengo el nombre de una clase PHP o un objeto instanciado. Quiero pasar esto a algo (función, clase de reflexión, etc.) que devolvería la ruta del sistema de archivos donde se definió la clase.
/path/to/class/definition.php
Me doy cuenta de que podría usar ( get_included_files())
para obtener una lista de todos los archivos que se han incluido hasta ahora y luego analizarlos todos manualmente, pero eso es mucho acceso al sistema de archivos para un solo intento.
También me doy cuenta de que podría escribir código adicional en nuestro mecanismo de carga automática que almacena esta información en algún lugar. Sin embargo, modificar la __autoload existente está fuera de los límites en la situación que tengo en mente.
Sería interesante escuchar sobre extensiones que pueden hacer esto, pero en última instancia, me gustaría algo que se pueda ejecutar en una instalación "estándar".