/** * @covers PhSpring\Reflection\ReflectionMethod::getAnnotations */ public function testGetAnnotations() { $annotations = $this->object->getAnnotations(); $this->assertNotEmpty($annotations); $this->assertNotEmpty($annotations); $this->assertEquals(2, count($annotations)); }
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; }