示例#1
0
 public static function &getInstance($args = array())
 {
     if (is_null(self::$instance)) {
         self::$instance = new Request();
         self::$instance->args = $args;
         if (!isset($_SESSION[Config::Core_get('session_flash_varname')])) {
             $_SESSION[Config::Core_get('session_flash_varname')] = array('new' => array(), 'old' => array());
         }
         $_SESSION[Config::Core_get('session_flash_varname')]['old'] = $_SESSION[Config::Core_get('session_flash_varname')]['new'];
         $_SESSION[Config::Core_get('session_flash_varname')]['new'] = array();
         self::$instance->protocol = strtolower(explode('/', $_SERVER['SERVER_PROTOCOL'])[0]);
         self::$instance->host = $_SERVER['HTTP_HOST'];
         self::$instance->urn = $_SERVER['REQUEST_URI'];
         self::$instance->uri = self::$instance->protocol . '://' . self::$instance->host . self::$instance->urn;
         self::$instance->url = self::$instance->protocol . '://' . self::$instance->host;
         self::$instance->method = strtolower($_SERVER['REQUEST_METHOD']);
         if (!isset($_SESSION[Config::Core_get('session_history_varname')])) {
             $_SESSION[Config::Core_get('session_history_varname')] = array_fill(0, 10, self::$instance->url);
         }
         if (self::$instance->method = 'post') {
             foreach ($_FILES as $key => &$value) {
                 if (is_array($_FILES[$key]['name'])) {
                     $value = Tools::diverse_array($value);
                 }
                 $value = (object) $value;
             }
         }
         self::$instance->addReferer(self::$instance->uri);
     }
     return self::$instance;
 }