mirror of
https://github.com/zhamao-robot/zhamao-framework.git
synced 2026-07-24 00:55:35 +08:00
update for class Annotation of Middleware
This commit is contained in:
@@ -52,6 +52,7 @@ class AnnotationParser
|
|||||||
$class_prefix = '';
|
$class_prefix = '';
|
||||||
$methods = $reflection_class->getMethods(ReflectionMethod::IS_PUBLIC);
|
$methods = $reflection_class->getMethods(ReflectionMethod::IS_PUBLIC);
|
||||||
$class_annotations = $reader->getClassAnnotations($reflection_class);
|
$class_annotations = $reader->getClassAnnotations($reflection_class);
|
||||||
|
$middleware_addon = null;
|
||||||
foreach ($class_annotations as $vs) {
|
foreach ($class_annotations as $vs) {
|
||||||
if ($vs instanceof Closed) {
|
if ($vs instanceof Closed) {
|
||||||
continue 2;
|
continue 2;
|
||||||
@@ -62,7 +63,7 @@ class AnnotationParser
|
|||||||
} elseif ($vs instanceof InitBuffer) {
|
} elseif ($vs instanceof InitBuffer) {
|
||||||
ZMBuf::set($vs->buf_name, []);
|
ZMBuf::set($vs->buf_name, []);
|
||||||
} elseif ($vs instanceof MiddlewareClass) {
|
} elseif ($vs instanceof MiddlewareClass) {
|
||||||
Console::info("正在注册中间件 ".$vs->class);
|
Console::info("正在注册中间件 " . $vs->class);
|
||||||
$result = [
|
$result = [
|
||||||
"class" => "\\" . $reflection_class->getName()
|
"class" => "\\" . $reflection_class->getName()
|
||||||
];
|
];
|
||||||
@@ -87,6 +88,8 @@ class AnnotationParser
|
|||||||
}
|
}
|
||||||
ZMBuf::$events[MiddlewareClass::class][$result["name"]] = $result;
|
ZMBuf::$events[MiddlewareClass::class][$result["name"]] = $result;
|
||||||
continue 2;
|
continue 2;
|
||||||
|
} elseif ($vs instanceof Middleware) {
|
||||||
|
$middleware_addon = $vs;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
foreach ($methods as $vs) {
|
foreach ($methods as $vs) {
|
||||||
@@ -102,8 +105,11 @@ class AnnotationParser
|
|||||||
elseif ($vss instanceof CQRequest) ZMBuf::$events[CQRequest::class][] = $vss;
|
elseif ($vss instanceof CQRequest) ZMBuf::$events[CQRequest::class][] = $vss;
|
||||||
elseif ($vss instanceof CQMetaEvent) ZMBuf::$events[CQMetaEvent::class][] = $vss;
|
elseif ($vss instanceof CQMetaEvent) ZMBuf::$events[CQMetaEvent::class][] = $vss;
|
||||||
elseif ($vss instanceof CQCommand) ZMBuf::$events[CQCommand::class][] = $vss;
|
elseif ($vss instanceof CQCommand) ZMBuf::$events[CQCommand::class][] = $vss;
|
||||||
elseif ($vss instanceof RequestMapping) self::registerRequestMapping($vss, $vs, $reflection_class, $class_prefix);
|
elseif ($vss instanceof RequestMapping) {
|
||||||
elseif ($vss instanceof CustomAnnotation) ZMBuf::$events[get_class($vss)][] = $vss;
|
self::registerRequestMapping($vss, $vs, $reflection_class, $class_prefix);
|
||||||
|
if($middleware_addon !== null)
|
||||||
|
ZMBuf::$events[MiddlewareInterface::class][$vss->class][$vss->method] = $middleware_addon->middleware;
|
||||||
|
} elseif ($vss instanceof CustomAnnotation) ZMBuf::$events[get_class($vss)][] = $vss;
|
||||||
elseif ($vss instanceof CQBefore) ZMBuf::$events[CQBefore::class][$vss->cq_event][] = $vss;
|
elseif ($vss instanceof CQBefore) ZMBuf::$events[CQBefore::class][$vss->cq_event][] = $vss;
|
||||||
elseif ($vss instanceof CQAfter) ZMBuf::$events[CQAfter::class][$vss->cq_event][] = $vss;
|
elseif ($vss instanceof CQAfter) ZMBuf::$events[CQAfter::class][$vss->cq_event][] = $vss;
|
||||||
elseif ($vss instanceof OnStart) ZMBuf::$events[OnStart::class][] = $vss;
|
elseif ($vss instanceof OnStart) ZMBuf::$events[OnStart::class][] = $vss;
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ use ZM\Annotation\AnnotationBase;
|
|||||||
* Class Middleware
|
* Class Middleware
|
||||||
* @package ZM\Annotation\Http
|
* @package ZM\Annotation\Http
|
||||||
* @Annotation
|
* @Annotation
|
||||||
* @Target("METHOD")
|
* @Target("ALL")
|
||||||
*/
|
*/
|
||||||
class Middleware extends AnnotationBase
|
class Middleware extends AnnotationBase
|
||||||
{
|
{
|
||||||
@@ -21,4 +21,4 @@ class Middleware extends AnnotationBase
|
|||||||
* @Required()
|
* @Required()
|
||||||
*/
|
*/
|
||||||
public $middleware;
|
public $middleware;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user