core/Route.php
public static function run(string $url = null)
    {
        self::recordRunTime();
        try {
            $data = self::getMapping($url);
            $app = self::$route['app'];
            if (!class_exists($data['classFullName']) && isset(self::$ctlPrefix[$app])) {
                foreach (self::$ctlPrefix[$app] as $prefix) {
                    $classFullName = $data['namespace'] . '\\' . $prefix . $data['className'];
                    if (class_exists($classFullName)) {
                        $data['classFullName'] = $classFullName;
                        break;
                    }
                }
            }
            self::runMethod($data['classFullName'], $data['method']);
        } catch (RouteError $exception) {
            self::rethrow($exception);
        } catch (\Exception $exception) {
            self::rethrow($exception);
        } catch (\Error $error) {
            self::rethrow($error);
        }
    }
public static function run(string $url = null)
    {
        self::recordRunTime();
        try {
            $data = self::getMapping($url);
            $app = self::$route['app'];
            if (!class_exists($data['classFullName']) && isset(self::$ctlPrefix[$app])) {
                foreach (self::$ctlPrefix[$app] as $prefix) {
                    $classFullName = $data['namespace'] . '\\' . $prefix . $data['className'];
                    if (class_exists($classFullName)) {
                        $data['classFullName'] = $classFullName;
                        break;
                    }
                }
            }
            self::runMethod($data['classFullName'], $data['method']);
        } catch (RouteError $exception) {
            self::rethrow($exception);
        } catch (\Exception $exception) {
            self::rethrow($exception);
        } catch (\Error $error) {
            self::rethrow($error);
        }
    }
运行
@param string|null $url