This commit is contained in:
2023-08-17 16:15:07 +08:00
parent bea41f0579
commit dc49f51386
+16 -21
View File
@@ -42,33 +42,28 @@ class Scanner extends Component
{ {
$container = Container::instance(); $container = Container::instance();
foreach ($this->files as $file) { foreach ($this->files as $file) {
var_dump($file); $class = $this->rename($file);
try { if (!class_exists($class)) {
$class = $this->rename($file); continue;
if (!class_exists($class)) { }
$reflect = $container->getReflectionClass($class);
if ($reflect->isInstantiable()) {
$data = $reflect->getAttributes(Skip::class);
if (count($data) > 0) {
continue; continue;
} }
$reflect = $container->getReflectionClass($class); $object = $container->parse($class);
if ($reflect->isInstantiable()) {
$data = $reflect->getAttributes(Skip::class); $methods = $container->getReflectionClass($class);
if (count($data) > 0) { foreach ($methods->getMethods(ReflectionMethod::IS_PUBLIC) as $method) {
if ($method->isStatic() || $method->getDeclaringClass()->getName() != $class) {
continue; continue;
} }
$object = $container->parse($class); $attributes = $method->getAttributes();
foreach ($attributes as $attribute) {
$methods = $container->getReflectionClass($class); $attribute->newInstance()->dispatch($object, $method->getName());
foreach ($methods->getMethods(ReflectionMethod::IS_PUBLIC) as $method) {
if ($method->isStatic() || $method->getDeclaringClass()->getName() != $class) {
continue;
}
$attributes = $method->getAttributes();
foreach ($attributes as $attribute) {
$attribute->newInstance()->dispatch($object, $method->getName());
}
} }
} }
}catch (\Throwable $exception) {
error($exception);
} }
} }
} }