Gibt es eine Reflexion / Selbstbeobachtung / Magie in PHP, mit der Sie die PHP-Datei finden können, in der eine bestimmte Klasse (oder Funktion) definiert wurde?
Mit anderen Worten, ich habe den Namen einer PHP-Klasse oder eines instanziierten Objekts. Ich möchte dies an etwas (Funktion, Reflection-Klasse usw.) übergeben, das den Dateisystempfad zurückgibt, in dem die Klasse definiert wurde.
/path/to/class/definition.php
Mir ist klar, dass ich verwenden könnte ( get_included_files())
um eine Liste aller bisher enthaltenen Dateien zu erhalten und sie dann alle manuell zu analysieren, aber das ist viel Dateisystemzugriff für einen einzigen Versuch.
Mir ist auch klar, dass ich zusätzlichen Code in unseren __autoload-Mechanismus schreiben könnte, der diese Informationen irgendwo zwischenspeichert. Das Ändern der vorhandenen __autoload ist jedoch in der Situation, an die ich denke, verboten.
Es wäre interessant, über Erweiterungen zu hören, die dies können, aber ich möchte letztendlich etwas, das auf einer "Standard" -Installation ausgeführt werden kann.