getMethods() public method

Return a list of methods
public getMethods ( ) : Zend\Code\Scanner\MethodScanner[]
return Zend\Code\Scanner\MethodScanner[]
Esempio n. 1
0
 public function compileScannerInjectionMethods(ClassScanner $scannerClass)
 {
     $data      = array();
     $className = $scannerClass->getName();
     foreach ($scannerClass->getMethods(true) as $scannerMethod) {
         $methodName = $scannerMethod->getName();
         
         // determine initiator & constructor dependencies
         if ($methodName === '__construct' && $scannerMethod->isPublic()) {
             $params = $scannerMethod->getParameters(true);
             if ($params) {
                 $data[$methodName] = array();
                 foreach ($params as $param) {
                     $data[$methodName][$param->getName()] = $param->getClass();
                 }
             }
         }
         
         // scan for setter injection
         if (preg_match('#^set[A-Z]#', $methodName)) {
             $data[$methodName] = $scannerMethod->getParameters();
             $params = $scannerMethod->getParameters(true);
             $data[$methodName] = array();
             foreach ($params as $param) {
                 $data[$methodName][$param->getName()] = $param->getClass();
             }
         }
     }
     return $data;
 }
Esempio n. 2
0
 /**
  * @return MethodScanner[]
  */
 public function getMethods()
 {
     $methods = $this->classScanner->getMethods();
     foreach ($this->parentClassScanners as $pClassScanner) {
         $methods = array_merge($methods, $pClassScanner->getMethods());
     }
     return $methods;
 }
Esempio n. 3
0
 /**
  * 
  * @param ClassScanner $class
  * @return ClassAnnotationHolder
  */
 public function parseClass(ClassScanner $class)
 {
     $classAnnotationHolder = new ClassAnnotationHolder($class);
     $classAnnotations = $class->getAnnotations($this->annotationManager);
     if ($classAnnotations instanceof AnnotationCollection) {
         foreach ($classAnnotations as $annotation) {
             $classAnnotationHolder->addAnnotation($annotation);
         }
     } else {
         $classAnnotations = new AnnotationCollection(array());
     }
     foreach ($class->getMethods() as $method) {
         // zf can't process abstract methods for now, wrap with "try" block
         $methodAnnotationHolder = new MethodAnnotationHolder($method);
         $methodAnnotations = $method->getAnnotations($this->annotationManager);
         if ($methodAnnotations instanceof AnnotationCollection) {
             foreach ($methodAnnotations as $annotation) {
                 $methodAnnotationHolder->addAnnotation($annotation);
             }
         }
         $classAnnotationHolder->addMethod($methodAnnotationHolder);
     }
     return $classAnnotationHolder;
 }