Zend_Server_Reflection stellt einen Standardmechanismus für Funktion und Klassen Introspektion für die Verwendung der Serverklassen bereit. Es basiert auf der PHP 5 Reflection API und erweitert es, um Methoden für die Erhaltung von Parameter und Rückgabewerttypen und Beschreibung, eine komplette Liste mit Funktion und Methoden Prototypen (d.h. alle möglichen, gültigen Aufrufkombinationen) sowie Funktions- und Methodenbeschreibungen bereit zu stellen
Normalerweise wird diese Funktionalität nur von Entwicklern von Serverklassen für das Framework verwendet.
Die grundlegende Verwendung ist einfach:
<?php require_once 'Zend/Server/Reflection.php'; $class = Zend_Server_Reflection::reflectClass('My_Class'); $function = Zend_Server_Reflection::reflectFunction('my_function'); // Erhalte Prototypen $prototypes = $reflection->getPrototypes(); // Erhalte Prototyp Rückgabetyp $prototype->getReturnType(); // Erhalte Prototyp Parameter $prototype->getParameters(); // Erhalte Parameter Typ $parameter->getType(); // Erhalte Namensraum für eine Klasse, Funktion oder Methode. // Namensräume können zum Zeitpunkt der Instanzierung gesetzt werden (zweites Argument) oder durch // Verwendung von setNamespace() $reflection->getNamespace();
reflectFunction()
gibt ein Zend_Server_Reflection_Function
Objekt zurück; reflectClass
gibt ein Zend_Server_Reflection_Class
Objekt zurück. Bitte die API Documentation beachten, um zu erfahren, welche Methoden
für beide Klassen verfügbar sind.