diff --git a/src/Pecee/SimpleRouter/Route/Route.php b/src/Pecee/SimpleRouter/Route/Route.php index c9d7ce6..ae06128 100644 --- a/src/Pecee/SimpleRouter/Route/Route.php +++ b/src/Pecee/SimpleRouter/Route/Route.php @@ -110,6 +110,8 @@ abstract class Route implements IRoute $parameters = []; + $url = '/' . ltrim($url, '/'); + if (preg_match_all('/' . $regex . '/', $route, $parameters)) { $urlParts = preg_split('/((\-?\/?)\{[^}]+\})/', rtrim($route, '/')); @@ -148,8 +150,6 @@ abstract class Route implements IRoute $urlRegex = preg_quote($route, '/'); } - echo $urlRegex . '\/? | ' . $url . chr(10); - if (preg_match('/^' . $urlRegex . '\/?/', $url, $matches) > 0) { $values = []; diff --git a/src/Pecee/SimpleRouter/Route/RouteController.php b/src/Pecee/SimpleRouter/Route/RouteController.php index e01854a..b32fa23 100644 --- a/src/Pecee/SimpleRouter/Route/RouteController.php +++ b/src/Pecee/SimpleRouter/Route/RouteController.php @@ -53,7 +53,7 @@ class RouteController extends LoadableRoute implements IControllerRoute if (strpos($name, '.') !== false) { $found = array_search(substr($name, strrpos($name, '.') + 1), $this->names, false); if ($found !== false) { - $method = $found; + $method = (string)$found; } } diff --git a/src/Pecee/SimpleRouter/Router.php b/src/Pecee/SimpleRouter/Router.php index e404538..01f898e 100644 --- a/src/Pecee/SimpleRouter/Router.php +++ b/src/Pecee/SimpleRouter/Router.php @@ -11,7 +11,6 @@ use Pecee\SimpleRouter\Route\IControllerRoute; use Pecee\SimpleRouter\Route\IGroupRoute; use Pecee\SimpleRouter\Route\ILoadableRoute; use Pecee\SimpleRouter\Route\IRoute; -use Pecee\SimpleRouter\Route\LoadableRoute; class Router { @@ -125,8 +124,6 @@ class Router $url = ($this->request->getRewriteUrl() !== null) ? $this->request->getRewriteUrl() : $this->request->getUri(); - - /* @var $route IRoute */ for ($i = $max; $i >= 0; $i--) { diff --git a/test/RouterUrlTest.php b/test/RouterUrlTest.php index 6bf3b25..91e42ab 100644 --- a/test/RouterUrlTest.php +++ b/test/RouterUrlTest.php @@ -10,24 +10,22 @@ class RouterUrlTest extends PHPUnit_Framework_TestCase public function testOptionalParameters() { - - // TestRouter::get('/aviso/legal', 'DummyController@method1'); + TestRouter::get('/aviso/legal', 'DummyController@method1'); TestRouter::get('/aviso/{aviso}', 'DummyController@method1'); - //TestRouter::get('/pagina/{pagina}', 'DummyController@method1'); + TestRouter::get('/pagina/{pagina}', 'DummyController@method1'); TestRouter::get('/{pagina?}', 'DummyController@method1'); - //TestRouter::debugNoReset('/aviso/optional', 'get'); - //$this->assertEquals('/aviso/{aviso}/', TestRouter::router()->getRequest()->getLoadedRoute()->getUrl()); + TestRouter::debugNoReset('/aviso/optional', 'get'); + $this->assertEquals('/aviso/{aviso}/', TestRouter::router()->getRequest()->getLoadedRoute()->getUrl()); - //TestRouter::debugNoReset('/pagina/optional', 'get'); - //$this->assertEquals('/pagina/{pagina}/', TestRouter::router()->getRequest()->getLoadedRoute()->getUrl()); + TestRouter::debugNoReset('/pagina/optional', 'get'); + $this->assertEquals('/pagina/{pagina}/', TestRouter::router()->getRequest()->getLoadedRoute()->getUrl()); - //TestRouter::debugNoReset('/optional', 'get'); - //$this->assertEquals('/{pagina?}/', TestRouter::router()->getRequest()->getLoadedRoute()->getUrl()); + TestRouter::debugNoReset('/optional', 'get'); + $this->assertEquals('/{pagina?}/', TestRouter::router()->getRequest()->getLoadedRoute()->getUrl()); -// New test lines - //TestRouter::debugNoReset('/avisolegal', 'get'); - //$this->assertNotEquals('/aviso/{aviso}/', TestRouter::router()->getRequest()->getLoadedRoute()->getUrl()); + TestRouter::debugNoReset('/avisolegal', 'get'); + $this->assertNotEquals('/aviso/{aviso}/', TestRouter::router()->getRequest()->getLoadedRoute()->getUrl()); TestRouter::debugNoReset('/avisolegal', 'get'); $this->assertEquals('/{pagina?}/', TestRouter::router()->getRequest()->getLoadedRoute()->getUrl());