Ejemplo n.º 1
0
 /**
  * Remove unnesessary element methods.
  *
  * @param ClassElement $element
  */
 private function cleanElement(ClassElement $element)
 {
     foreach ($element->getProperties() as $property) {
         $element->removeProperty($property->getName());
     }
     foreach ($element->getConstants() as $constant => $value) {
         $element->removeConstant($constant);
     }
     foreach ($element->getMethods() as $method) {
         //Remove all static, protected or magic methods
         if ($method->isStatic() || $method->getAccess() != AbstractElement::ACCESS_PUBLIC || substr($method->getName(), 0, 2) == '__') {
             $element->removeMethod($method->getName());
         }
         $comment = join("\n", $method->getComment());
         if (strpos($comment, "Record") === false && strpos($comment, "\$this") === false && $method->getName() != 'getIterator') {
             //We don't need methods not related to retrieving documents
             $element->removeMethod($method->getName());
         }
     }
 }