Commit 34cb9a00 authored by Taylor Otwell's avatar Taylor Otwell

move 'is' method to the str class where it belongs.

parent 0c8c6714
<?php namespace Laravel\Routing; <?php namespace Laravel\Routing;
use Closure; use Closure;
use Laravel\Str;
use Laravel\URI; use Laravel\URI;
use Laravel\Bundle; use Laravel\Bundle;
use Laravel\Request; use Laravel\Request;
...@@ -198,7 +199,7 @@ class Route { ...@@ -198,7 +199,7 @@ class Route {
// if they match we'll attach the filter. // if they match we'll attach the filter.
foreach (Filter::$patterns as $pattern => $filter) foreach (Filter::$patterns as $pattern => $filter)
{ {
if (URI::is($pattern, $this->uri)) if (Str::is($pattern, $this->uri))
{ {
$filters[] = $filter; $filters[] = $filter;
} }
......
...@@ -300,6 +300,30 @@ class Str { ...@@ -300,6 +300,30 @@ class Str {
return substr(str_shuffle(str_repeat(static::pool($type), 5)), 0, $length); return substr(str_shuffle(str_repeat(static::pool($type), 5)), 0, $length);
} }
/**
* Determine if a given string matches a given pattern.
*
* @param string $pattern
* @param string $value
* @return bool
*/
public static function is($pattern, $value)
{
// Asterisks are translated into zero-or-more regular expression wildcards
// to make it convenient to check if the URI starts with a given pattern
// such as "library/*". This is only done when not root.
if ($pattern !== '/')
{
$pattern = str_replace('*', '(.*)', $pattern).'\z';
}
else
{
$pattern = '^/$';
}
return preg_match('#'.$pattern.'#', $value);
}
/** /**
* Get the character pool for a given type of random string. * Get the character pool for a given type of random string.
* *
......
...@@ -60,26 +60,11 @@ class URI { ...@@ -60,26 +60,11 @@ class URI {
* Determine if the current URI matches a given pattern. * Determine if the current URI matches a given pattern.
* *
* @param string $pattern * @param string $pattern
* @param string $uri
* @return bool * @return bool
*/ */
public static function is($pattern, $uri = null) public static function is($pattern)
{ {
$uri = $uri ?: static::current(); return Str::is($pattern, static::current());
// Asterisks are translated into zero-or-more regular expression wildcards
// to make it convenient to check if the URI starts with a given pattern
// such as "library/*". This is only done when not root.
if ($pattern !== '/')
{
$pattern = str_replace('*', '(.*)', $pattern).'\z';
}
else
{
$pattern = '^/$';
}
return preg_match('#'.$pattern.'#', $uri);
} }
/** /**
......
...@@ -8,6 +8,25 @@ ...@@ -8,6 +8,25 @@
* @link http://laravel.com * @link http://laravel.com
*/ */
/*
|----------------------------------------------------------------
| Application Environemtns
|----------------------------------------------------------------
|
| Laravel takes a dead simple approach to environments, and we
| think you'll love it. Just specify which URLs belongs to a
| given environment, and when you access your application
| from a URL matching that pattern, we'll be sure to
| merge in that environment's configuration files.
|
*/
$environments = array(
'local' => array('*localhost*', '*.dev'),
);
// -------------------------------------------------------------- // --------------------------------------------------------------
// The path to the application directory. // The path to the application directory.
// -------------------------------------------------------------- // --------------------------------------------------------------
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment