public static function __init() { if (empty(self::$observer)) { self::$reg = new stdClass(); self::$finals = array(); self::$observer = new Ac_Observer(); self::$loader = Ac_Loader::getInstance(); self::$config = static::trigger('AcBeforeInit', self::$loader->getConfig()); if (empty(self::$context)) { self::$context = Ac_Context::getInstance(); } static::trigger('AcLoaderLoad'); self::$session = new Ac_Model_Globals_Session(self::config("session.name"), self::config("session.sessid_lifetime"), self::config("session.sessid_fingerprint_data")); self::$session->start(); if (empty(self::$request)) { self::$request = new Ac_Http_Request(self::$context); } if (empty(self::$response)) { self::$response = new Ac_Http_Response(self::$request); } //Initialize db connections (and connect if autoconnect==true in their config) self::db(); if (empty(self::$router)) { self::$router = new Ac_Router(); } //load app module self::module("app", true); //load and initialize all modules defined in modules.autoload foreach (self::config("modules.autoload") as $moduleName) { if ($moduleName != "app") { self::module($moduleName, true); } } self::loader()->setActiveModule("app"); //resolve request resource self::$router->resolve(); static::trigger('AcInit'); } }