public function getModule()
    {
        if (!is_null(self::$module)) {
            return self::$module;
        }
        $controllerParam = array_get($this->routeParams, 'controller');
        $match           = null;
        preg_match('/(.*?)(?=@|$)/', $controllerParam, $match);
        if (!isset($match[0])) {
            return;
        }
        $reflection = new ReflectionClass($match[0]);
        $filename   = $reflection->getFileName();
        if (!preg_match("'antares(.*?)src'si", $filename, $match)) {
            return;
        }
        $reserved     = [
            'components', 'modules'
        ];
        self::$module = (str_contains($match[1], 'core')) ? 'core' : trim(str_replace($reserved, '', $match[1]), DIRECTORY_SEPARATOR);
        return self::$module;
    }