public static function __init__() { // @todo: lazy initialization? self::$prefix = visitor::get_prefix(); self::$static_domain = config::get_kern('static_domain', ''); self::$upload_domain = config::get_kern('upload_domain', ''); self::$version_key = config::get_kern('version_key', self::default_version_key); self::$version = config::get_kern('version', self::default_version); self::$base_is_https = config::get_base('url.is_https', false); self::$base_domains = config::get_base('url.domains', []); foreach (self::$base_domains as $domain) { # base 模块的 module_name 统一为 'base' self::$domain_modules[$domain] = 'base'; } self::$base_enable_rewrite = config::get_base('url.enable_rewrite', false); self::$base_csrf_key = config::get_base('url.csrf_key', self::default_csrf_key); self::$base_target_key = config::get_base('url.target_key', self::default_target_key); self::$base_routes = config::get_base('url.routes', []); self::$base_flipped_routes = array_flip(self::$base_routes); foreach (config::get_module_names() as $module_name) { config::set_module_name($module_name); self::$module_is_https[$module_name] = config::get_module('url.is_https', false); $domains = config::get_module('url.domains', []); self::$module_domains[$module_name] = $domains; foreach ($domains as $domain) { self::$domain_modules[$domain] = $module_name; } self::$module_enable_rewrites[$module_name] = config::get_module('url.enable_rewrite', false); self::$module_csrf_keys[$module_name] = config::get_module('url.csrf_key', self::default_csrf_key); self::$module_target_keys[$module_name] = config::get_module('url.target_key', self::default_target_key); self::$module_routes[$module_name] = config::get_module('url.routes', []); self::$module_flipped_routes[$module_name] = array_flip(self::$module_routes[$module_name]); } # 实际是哪个 module_name 需要解析 config::set_module_name(null); }