Einführung

Zend_Reflection Beispiele

Example #1 Durchführen von Reflection an einer Datei

  1. $r = new Zend_Reflection_File($filename);
  2.     "===> Die Datei %s\n".
  3.     "     hat %d Zeilen\n",
  4.     $r->getFileName(),
  5.     $r->getEndLine()
  6. );
  7.  
  8. $classes = $r->getClasses();
  9. echo "     Sie hat " . count($classes) . ":\n";
  10. foreach ($classes as $class) {
  11.     echo "         " . $class->getName() . "\n";
  12. }
  13.  
  14. $functions = $r->getFunctions();
  15. echo "     Sie hat " . count($functions) . ":\n";
  16. foreach ($functions as $function) {
  17.     echo "         " . $function->getName() . "\n";
  18. }

Example #2 Durchführen von Reflection an einer Klasse

  1. $r = new Zend_Reflection_Class($class);
  2.  
  3.     "Der Klassen-Level Docblock hat die Kurzbeschreibung: %s\n".
  4.     "Der Klassen-Level Docblock hat die Langbeschreibung:\n%s\n",
  5.     $r->getDocblock()->getShortDescription(),
  6.     $r->getDocblock()->getLongDescription(),
  7. );
  8.  
  9. // Die Deklarierte Datei Reflektion
  10. $file = $r->getDeclaringFile();

Example #3 Durchführen von Reflection an einer Methode

  1. $r = new Zend_Reflection_Method($class, $name);
  2.  
  3. "Die Methode '%s' hat einen Rückgabetyp von %s",
  4.     $r->getName(),
  5.     $r->getReturn()
  6. );
  7.  
  8. foreach ($r->getParameters() as $key => $param) {
  9.     printf(
  10.         "Der Parameter an Position '%d' ist vom Typ '%s'\n",
  11.         $key,
  12.         $param->getType()
  13.     );
  14. }

Example #4 Durchführen von Reflection an einem Docblock

  1. $r = new Zend_Reflection_Method($class, $name);
  2. $docblock = $r->getDocblock();
  3.  
  4.     "Die Kurzbeschreibung: %s\n".
  5.     "Die Langbeschreibung:\n%s\n",
  6.     $r->getDocblock()->getShortDescription(),
  7.     $r->getDocblock()->getLongDescription(),
  8. );
  9.  
  10. foreach ($docblock->getTags() as $tag) {
  11.     printf(
  12.         "Das Hinweis-Tag '%s' hat die Beschreibung '%s'\n",
  13.         $tag->getName(),
  14.         $tag->getDescription()
  15.     );
  16. }

Einführung