show_class_file($ReflectionClass); $this->show_doc($ReflectionClass); echo "\n"; foreach($ReflectionClass->getProperties() as $property){ $this->show_property($property); } echo "\n"; foreach($ReflectionClass->getMethods() as $method){ $this->show_method($method); } } function show_class_file($ReflectionClass){ $file = $ReflectionClass->getFileName(); // $sline = $ReflectionClass->getStartLine(); // $eline = $ReflectionClass->getEndLine(); echo "<$file>\n\n"; } function show_property($ReflectionProperty){ if($ReflectionProperty->isPublic()){ echo $this->show_doc($ReflectionProperty); echo " ", $ReflectionProperty->getName(), ' = ', str_replace("\n","\n ",var_export($ReflectionProperty->getValue(),1)), ";\n\n"; } } function show_method($ReflectionMethod){ if($ReflectionMethod->isPublic()){ echo $this->show_doc($ReflectionMethod); echo " function ", $ReflectionMethod->getName(), ' ('; foreach($ReflectionMethod->getParameters() as $ReflectionParameter){ $this->show_parameter($ReflectionParameter); } echo ")\n\n"; } } function show_parameter($ReflectionParameter){ } function show_doc($object){ $document = $object->getDocComment(); if($document){ echo $document."\n"; } } }