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

This commit is contained in:
Taylor Otwell 2012-04-12 22:54:50 -05:00
parent 0c8c6714f4
commit 34cb9a00f4
4 changed files with 47 additions and 18 deletions

View File

@ -1,6 +1,7 @@
<?php namespace Laravel\Routing;
use Closure;
use Laravel\Str;
use Laravel\URI;
use Laravel\Bundle;
use Laravel\Request;
@ -198,7 +199,7 @@ protected function patterns()
// if they match we'll attach the filter.
foreach (Filter::$patterns as $pattern => $filter)
{
if (URI::is($pattern, $this->uri))
if (Str::is($pattern, $this->uri))
{
$filters[] = $filter;
}

View File

@ -300,6 +300,30 @@ public static function random($length, $type = 'alnum')
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.
*

View File

@ -60,26 +60,11 @@ protected static function format($uri)
* Determine if the current URI matches a given pattern.
*
* @param string $pattern
* @param string $uri
* @return bool
*/
public static function is($pattern, $uri = null)
public static function is($pattern)
{
$uri = $uri ?: 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);
return Str::is($pattern, static::current());
}
/**

View File

@ -8,6 +8,25 @@
* @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.
// --------------------------------------------------------------