This commit is contained in:
2021-03-30 14:24:52 +08:00
parent 583dba208e
commit 635bc79993
+25 -12
View File
@@ -186,19 +186,32 @@ abstract class BaseApplication extends Service
if (is_string($value)) { if (is_string($value)) {
$value = Snowflake::createObject($value); $value = Snowflake::createObject($value);
} }
if (is_array($value) && isset($value[0]) && !($value[0] instanceof \Closure)) { $this->addEvent($event, $key, $value);
if (!is_callable($value, true)) { }
throw new InitException("Class does not hav callback."); }
}
$event->on($key, $value, [], true);
} else { /**
foreach ($value as $item) { * @param $event
if (!is_callable($item, true)) { * @param $key
throw new InitException("Class does not hav callback."); * @param $value
} * @throws InitException
$event->on($key, $item, [], true); */
} private function addEvent($event, $key, $value): void
{
if ($value instanceof \Closure) {
$event->on($key, $value, [], true);
return;
}
if (isset($value[0]) && is_object($value[0])) {
$event->on($key, $value, [], true);
return;
}
foreach ($value as $item) {
if (!is_callable($item, true)) {
throw new InitException("Class does not hav callback.");
} }
$event->on($key, $item, [], true);
} }
} }