library/core/class.request.php
protected function _ParseRequest() {
      $this->_Parsing = TRUE;

      /**
       * Resolve final request to send to dispatcher
       */
       
      $Path = $this->_EnvironmentElement('URI');
       
      // Get the dispatch string from the URI
      if($Path !== FALSE) {
         $this->Path(trim($Path, '/'));
      } else {
         $Expression = '/^(?:\/?'.str_replace('/', '\/', $this->_EnvironmentElement('Folder')).')?(?:'.$this->_EnvironmentElement('Script').')?\/?(.*?)\/?(?:[#?].*)?$/i';
         if (preg_match($Expression, $this->_EnvironmentElement('URI'), $Match))
            $this->Path($Match[1]);
         else
            $this->Path('');
      }

      /**
       * Resolve optional output modifying file extensions (rss, json, etc)
       */

      $UrlParts = explode('/', $this->Path());
      $Last = array_slice($UrlParts, -1, 1);
      $LastParam = array_pop($Last);
      $Match = array();
      if (preg_match('/^(.+)\.([^.]{1,4})$/', $LastParam, $Match)) {
         $this->OutputFormat($Match[2]);
         $this->Filename($Match[0]);
         //$this->Path(implode('/',array_slice($UrlParts, 0, -1)));
      }

      /**
       * Resolve WebRoot
       */

      // Attempt to get the webroot from the server
      $WebRoot = FALSE;
      if (!$WebRoot) {
         $WebRoot = explode('/', GetValue('PHP_SELF', $_SERVER, ''));

         // Look for index.php to figure out where the web root is.
         $Key = array_search('index.php', $WebRoot);
         if ($Key !== FALSE) {
            $WebRoot = implode('/', array_slice($WebRoot, 0, $Key));
         } else {
            // Could not determine webroot.
            $WebRoot = '';
         }
         
      }
      
      $ParsedWebRoot = trim($WebRoot,'/');
      $this->WebRoot($ParsedWebRoot);

      /**
       * Resolve Domain
       */

      $Domain = FALSE;
      if ($Domain === FALSE || $Domain == '')
         $Domain = $this->Host();

      if ($Domain != '' && $Domain !== FALSE) {
         if (!stristr($Domain,'://'))
            $Domain = $this->Scheme().'://'.$Domain;

         $Domain = trim($Domain, '/');
      }
      $this->Domain($Domain);
      
      $this->_Parsing = FALSE;
      $this->_HaveParsedRequest = TRUE;
   }
protected function _ParseRequest() {
      $this->_Parsing = TRUE;

      /**
       * Resolve final request to send to dispatcher
       */
       
      $Path = $this->_EnvironmentElement('URI');
       
      // Get the dispatch string from the URI
      if($Path !== FALSE) {
         $this->Path(trim($Path, '/'));
      } else {
         $Expression = '/^(?:\/?'.str_replace('/', '\/', $this->_EnvironmentElement('Folder')).')?(?:'.$this->_EnvironmentElement('Script').')?\/?(.*?)\/?(?:[#?].*)?$/i';
         if (preg_match($Expression, $this->_EnvironmentElement('URI'), $Match))
            $this->Path($Match[1]);
         else
            $this->Path('');
      }

      /**
       * Resolve optional output modifying file extensions (rss, json, etc)
       */

      $UrlParts = explode('/', $this->Path());
      $Last = array_slice($UrlParts, -1, 1);
      $LastParam = array_pop($Last);
      $Match = array();
      if (preg_match('/^(.+)\.([^.]{1,4})$/', $LastParam, $Match)) {
         $this->OutputFormat($Match[2]);
         $this->Filename($Match[0]);
         //$this->Path(implode('/',array_slice($UrlParts, 0, -1)));
      }

      /**
       * Resolve WebRoot
       */

      // Attempt to get the webroot from the server
      $WebRoot = FALSE;
      if (!$WebRoot) {
         $WebRoot = explode('/', GetValue('PHP_SELF', $_SERVER, ''));

         // Look for index.php to figure out where the web root is.
         $Key = array_search('index.php', $WebRoot);
         if ($Key !== FALSE) {
            $WebRoot = implode('/', array_slice($WebRoot, 0, $Key));
         } else {
            // Could not determine webroot.
            $WebRoot = '';
         }
         
      }
      
      $ParsedWebRoot = trim($WebRoot,'/');
      $this->WebRoot($ParsedWebRoot);

      /**
       * Resolve Domain
       */

      $Domain = FALSE;
      if ($Domain === FALSE || $Domain == '')
         $Domain = $this->Host();

      if ($Domain != '' && $Domain !== FALSE) {
         if (!stristr($Domain,'://'))
            $Domain = $this->Scheme().'://'.$Domain;

         $Domain = trim($Domain, '/');
      }
      $this->Domain($Domain);
      
      $this->_Parsing = FALSE;
      $this->_HaveParsedRequest = TRUE;
   }
protected function _ParseRequest ( ) { $ this -> _Parsing = TRUE ; /**
       * Resolve final request to send to dispatcher
       */ $ Path = $ this -> _EnvironmentElement ( 'URI' ) ; // Get the dispatch string from the URI if ( $ Path !== FALSE ) { $ this -> Path ( trim ( $ Path , '/' ) ) ; } else { $ Expression = '/^(?:\/?' . str_replace ( '/' , '\/' , $ this -> _EnvironmentElement ( 'Folder' ) ) . ')?(?:' . $ this -> _EnvironmentElement ( 'Script' ) . ')?\/?(.*?)\/?(?:[#?].*)?$/i' ; if ( preg_match ( $ Expression , $ this -> _EnvironmentElement ( 'URI' ) , $ Match ) ) $ this -> Path ( $ Match [ 1 ] ) ; else $ this -> Path ( '' ) ; } /**
       * Resolve optional output modifying file extensions (rss, json, etc)
       */ $ UrlParts = explode ( '/' , $ this -> Path ( ) ) ; $ Last = array_slice ( $ UrlParts , - 1 , 1 ) ; $ LastParam = array_pop ( $ Last ) ; $ Match = array ( ) ; if ( preg_match ( '/^(.+)\.([^.]{1,4})$/' , $ LastParam , $ Match ) ) { $ this -> OutputFormat ( $ Match [ 2 ] ) ; $ this -> Filename ( $ Match [ 0 ] ) ; //$this->Path(implode('/',array_slice($UrlParts, 0, -1))); } /**
       * Resolve WebRoot
       */ // Attempt to get the webroot from the server $ WebRoot = FALSE ; if ( ! $ WebRoot ) { $ WebRoot = explode ( '/' , GetValue ( 'PHP_SELF' , $ _SERVER , '' ) ) ; // Look for index.php to figure out where the web root is. $ Key = array_search ( 'index.php' , $ WebRoot ) ; if ( $ Key !== FALSE ) { $ WebRoot = implode ( '/' , array_slice ( $ WebRoot , 0 , $ Key ) ) ; } else { // Could not determine webroot. $ WebRoot = '' ; } } $ ParsedWebRoot = trim ( $ WebRoot , '/' ) ; $ this -> WebRoot ( $ ParsedWebRoot ) ; /**
       * Resolve Domain
       */ $ Domain = FALSE ; if ( $ Domain === FALSE || $ Domain == '' ) $ Domain = $ this -> Host ( ) ; if ( $ Domain != '' && $ Domain !== FALSE ) { if ( ! stristr ( $ Domain , '://' ) ) $ Domain = $ this -> Scheme ( ) . '://' . $ Domain ; $ Domain = trim ( $ Domain , '/' ) ; } $ this -> Domain ( $ Domain ) ; $ this -> _Parsing = FALSE ; $ this -> _HaveParsedRequest = TRUE ; }
Parse the Environment data into the ParsedRequest array.

This method analyzes the Request environment and produces the ParsedRequest array which
contains the Path and OutputFormat keys. These are used by the Dispatcher to decide which
controller and method to invoke.

@return void
Parse the Environment data into the ParsedRequest array .