改名
This commit is contained in:
@@ -3,30 +3,51 @@
|
||||
|
||||
namespace Annotation\Route;
|
||||
|
||||
use HttpServer\Route\Node as RNode;
|
||||
use ReflectionException;
|
||||
use Snowflake\Exception\NotFindClassException;
|
||||
use Snowflake\Snowflake;
|
||||
|
||||
trait Node
|
||||
{
|
||||
|
||||
|
||||
/**
|
||||
* @param $node
|
||||
* @return mixed
|
||||
* @param RNode $node
|
||||
* @return RNode
|
||||
* @throws
|
||||
*/
|
||||
public function add($node): mixed
|
||||
public function add(RNode $node): RNode
|
||||
{
|
||||
if (!empty($this->middleware)) {
|
||||
$node->addMiddleware($this->middleware);
|
||||
$node->addMiddleware($this->reflectClass($this->middleware));
|
||||
}
|
||||
if (!empty($this->interceptor)) {
|
||||
$node->addInterceptor($this->interceptor);
|
||||
$node->addInterceptor($this->reflectClass($this->interceptor));
|
||||
}
|
||||
if (!empty($this->limits)) {
|
||||
$node->addLimits($this->limits);
|
||||
$node->addLimits($this->reflectClass($this->limits));
|
||||
}
|
||||
if (!empty($this->after)) {
|
||||
$node->addAfter($this->after);
|
||||
$node->addAfter($this->reflectClass($this->after));
|
||||
}
|
||||
return $node;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param array $classes
|
||||
* @return array
|
||||
* @throws ReflectionException
|
||||
* @throws NotFindClassException
|
||||
*/
|
||||
private function reflectClass(array $classes): array
|
||||
{
|
||||
$di = Snowflake::getDi();
|
||||
foreach ($classes as $key => $class) {
|
||||
$classes[$key] = [$di->get($class), 'onHandler'];
|
||||
}
|
||||
return $classes;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user