Ejemplo n.º 1
0
 /**
  * @covers PhSpring\Reflection\ReflectionMethod::getAnnotations
  */
 public function testGetAnnotations()
 {
     $annotations = $this->object->getAnnotations();
     $this->assertNotEmpty($annotations);
     $this->assertNotEmpty($annotations);
     $this->assertEquals(2, count($annotations));
 }
Ejemplo n.º 2
0
 public static function getMethodBeforeHandlers(ReflectionMethod $reflMethod)
 {
     $ret = array();
     foreach ($reflMethod->getAnnotations() as $annotation) {
         $clazz = null;
         $aclass = get_class($annotation);
         if (array_key_exists($aclass, self::$beforeHandlers)) {
             $clazz = self::$beforeHandlers[$aclass];
         }
         if (!$clazz) {
             $bclass = \explode(self::NAMESPACE_SEPARATOR, $aclass);
             $bclass = end($bclass);
             //die();
             foreach (self::$annotationHandlerNamespaces as $ns) {
                 $class = trim($ns, self::NAMESPACE_SEPARATOR) . self::NAMESPACE_SEPARATOR . $bclass . 'Handler';
                 try {
                     if (class_exists($class)) {
                         $clazz = $class;
                         self::$beforeHandlers[$aclass] = $class;
                         break;
                     }
                 } catch (Exception $e) {
                     //do nothing
                 }
             }
         }
         if ($clazz) {
             $ret[] = ClassInvoker::getNewInstance($clazz, array('annotation' => $annotation));
         }
     }
     return $ret;
 }