namespace = $namespace; if ($prefix) { $this->prefix = $prefix; } } /** * 执行挂载方法 * @param string $hookName * @param mixed ...$arguments * @return bool */ public function listen(string $hookName, ...$arguments) { if (class_exists($this->namespace)) { $handle = new $this->namespace; $hookName = Str::studly(($this->prefix ?: '') . ucfirst($hookName)); if (method_exists($handle, $hookName)) { try { return $handle->{$hookName}(...$arguments); } catch (\Throwable $e) { } } } return false; } }