This commit is contained in:
2021-02-22 19:38:44 +08:00
parent 7f20d3aaf1
commit c2a0211517
+7 -7
View File
@@ -4,6 +4,7 @@
namespace Annotation; namespace Annotation;
use Exception;
use ReflectionAttribute; use ReflectionAttribute;
use ReflectionClass; use ReflectionClass;
use ReflectionException; use ReflectionException;
@@ -114,12 +115,11 @@ class Annotation extends Component
* @param string $class * @param string $class
* @param string $alias * @param string $alias
* @return array * @return array
* @throws ReflectionException * @throws Exception
* @throws NotFindPropertyException
* @throws NotFindClassException
*/ */
private function getReflect(string $class, string $alias): array private function getReflect(string $class, string $alias): array
{ {
try {
$reflect = $this->reflectClass($class); $reflect = $this->reflectClass($class);
var_dump($class, $reflect); var_dump($class, $reflect);
if (empty($reflect)) { if (empty($reflect)) {
@@ -134,6 +134,10 @@ class Annotation extends Component
$object = $reflect->newInstance(); $object = $reflect->newInstance();
$this->resolveMethod($reflect, $class, $alias, $object); $this->resolveMethod($reflect, $class, $alias, $object);
return $this->targets($reflect); return $this->targets($reflect);
} catch (\Throwable $throwable) {
$this->addError($throwable);
return [];
}
} }
@@ -146,7 +150,6 @@ class Annotation extends Component
*/ */
private function resolveMethod(ReflectionClass $reflect, $class, $alias, $object) private function resolveMethod(ReflectionClass $reflect, $class, $alias, $object)
{ {
try {
foreach ($reflect->getMethods(ReflectionMethod::IS_PUBLIC) as $method) { foreach ($reflect->getMethods(ReflectionMethod::IS_PUBLIC) as $method) {
if ($method->class != $class) { if ($method->class != $class) {
continue; continue;
@@ -158,9 +161,6 @@ class Annotation extends Component
} }
$this->_classes[$reflect->getName()][$method->getName()] = $tmp; $this->_classes[$reflect->getName()][$method->getName()] = $tmp;
} }
} catch (\Throwable $throwable) {
$this->addError($throwable);
}
$this->resolveProperty($reflect, $object); $this->resolveProperty($reflect, $object);
} }