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 = app()->make($this->namespace); $hookName = Str::studly(($this->prefix ?: '') . ucfirst($hookName)); if (method_exists($handle, $hookName)) { try { return call_user_func_array([$handle, $hookName], $arguments); } catch (\Throwable $e) { } } } return false; } }