This commit is contained in:
2020-10-15 10:53:35 +08:00
parent e4cfd4c1be
commit 0c29994b18
2 changed files with 23 additions and 6 deletions
+8 -4
View File
@@ -444,15 +444,19 @@ class Node extends Application
*/
private function each($array, $_temp)
{
if (empty($array)) {
if (!is_array($array)) {
return $_temp;
}
foreach ($array as $class) {
if (!is_array($class)) {
$_temp[] = Snowflake::createObject($class);
} else {
if (is_array($class)) {
$_temp = $this->each($class, $_temp);
continue;
}
if (!class_exists($class)) {
continue;
}
$_temp[] = Snowflake::createObject($class);
}
return $_temp;
}
+15 -2
View File
@@ -38,8 +38,20 @@ class Router extends Application implements RouterInterface
public $methods = ['get', 'post', 'options', 'put', 'delete', 'receive'];
public $middleware = null;
public $useTree = false;
/**
* @param Closure $middleware
*/
public function setMiddleware(\Closure $middleware): void
{
$this->middleware = $middleware;
}
/**
* @throws ConfigException
* 初始化函数路径
@@ -291,9 +303,10 @@ class Router extends Application implements RouterInterface
}
$name = array_column($this->groupTacks, 'middleware');
if (!empty($name) && $name = array_filter($name)) {
$node->bindMiddleware($name);
if (!empty($this->middleware) && $this->middleware instanceof \Closure) {
array_unshift($name, $this->middleware);
}
$node->bindMiddleware($name);
$options = array_column($this->groupTacks, 'options');
if (!empty($options) && is_array($options)) {