Refactor the request class.

This commit is contained in:
Taylor Otwell 2011-08-08 09:42:38 -05:00
parent 3f35bb1591
commit 3d684136b8
1 changed files with 23 additions and 12 deletions

View File

@ -27,6 +27,28 @@ public static function uri()
{
if ( ! is_null(static::$uri)) return static::$uri;
$uri = static::raw_uri();
if (strpos($uri, $base = parse_url(Config::get('application.url'), PHP_URL_PATH)) === 0)
{
$uri = substr($uri, strlen($base));
}
if (strpos($uri, $index = '/index.php') === 0)
{
$uri = substr($uri, strlen($index));
}
return static::$uri = (($uri = trim($uri, '/')) == '') ? '/' : $uri;
}
/**
* Get the raw request URI from the $_SERVER array.
*
* @return string
*/
private static function raw_uri()
{
if (isset($_SERVER['PATH_INFO']))
{
$uri = $_SERVER['PATH_INFO'];
@ -45,17 +67,7 @@ public static function uri()
throw new \Exception("Malformed request URI. Request terminated.");
}
if (strpos($uri, $base = parse_url(Config::get('application.url'), PHP_URL_PATH)) === 0)
{
$uri = substr($uri, strlen($base));
}
if (strpos($uri, $index = '/index.php') === 0)
{
$uri = substr($uri, strlen($index));
}
return static::$uri = (($uri = trim($uri, '/')) == '') ? '/' : $uri;
return $uri;
}
/**
@ -148,7 +160,6 @@ public static function route_is($name)
*/
public static function __callStatic($method, $parameters)
{
// Dynamically determine if a given route is handling the request.
if (strpos($method, 'route_is_') === 0)
{
return static::route_is(substr($method, 9));