public function testGetFixturesDynamic() { $router = new \Owl\Router\Router(); $router->add("/", ['name' => 'default', 'action' => 'index', 'controller' => 'index', 'module' => 'index']); $router->add("/user/:id/", ['name' => 'user-view', 'action' => 'view', 'controller' => 'user', 'module' => 'user']); $this->assertInstanceOf('Owl\\Router\\Route', $result = $router->match("/")); $this->assertSame("default", $result->parameters["name"]); $this->assertInstanceOf('Owl\\Router\\Route', $result = $router->match("/user/1/")); $this->assertSame("user-view", $result->parameters["name"]); $this->assertInstanceOf('Owl\\Router\\Route', $result = $router->match("/user/100/")); $this->assertSame("user-view", $result->parameters["name"]); $this->assertFalse($router->match("/user/f/")); $this->assertFalse($router->match("/user/0f/")); $this->assertFalse($router->match("/user/0ads/")); $this->assertFalse($router->match('/not-found-route')); $router->add("/ur/:id", ['name' => 'ur-view', 'action' => 'view', 'controller' => 'user', 'module' => 'user']); $this->assertInstanceOf('Owl\\Router\\Route', $result = $router->match("/ur/1")); $this->assertSame("ur-view", $result->parameters["name"]); $this->assertInstanceOf('Owl\\Router\\Route', $result = $router->match("/ur/100")); $this->assertSame("ur-view", $result->parameters["name"]); $this->assertFalse($router->match("/ur/1/")); //rly? $this->assertFalse($router->match("/ur/f/")); $this->assertFalse($router->match("/ur/0f/")); $this->assertFalse($router->match("/ur/0ads/")); $router->add("/usr/id:int/", ['name' => 'user-view-int', 'action' => 'view', 'controller' => 'user', 'module' => 'user']); $this->assertInstanceOf('Owl\\Router\\Route', $result = $router->match("/usr/1/")); $this->assertSame('user-view-int', $result->parameters["name"]); $this->assertInstanceOf('Owl\\Router\\Route', $result = $router->match("/usr/100/")); $this->assertSame('user-view-int', $result->parameters["name"]); $this->assertFalse($router->match("/usr/f/")); $this->assertFalse($router->match("/usr/0f/")); $this->assertFalse($router->match("/usr/0ads/")); }
<?php $serviceManager = new \Owl\Service\Manager(); $router = new \Owl\Router\Router(); $router->add('/', ['action' => '/']); $router->add('/user/{id:int}/', ['action' => 'view']); $router->add('/users', ['action' => 'users']); $serviceManager->set('router', $router); $application = new \Owl\Application($serviceManager); $application->handle(\Owl\Http\Request::createFromGlobals(), new \Owl\Http\Response());
<?php /** * @author Patsura Dmitry http://github.com/ovr <*****@*****.**> */ use Owl\Application; use Owl\Http\Request; $serviceManager = new Owl\Service\Manager(); $serviceManager->set('router', new \Owl\Router\Router()); var_dump($serviceManager->getInstance('router')); $application = new Application($serviceManager); $response = $application->handle(Request::createFromGlobals()); var_dump($response); $router = new \Owl\Router\Router(); $router->add("/", ['name' => 'default', 'action' => 'index', 'controller' => 'index', 'module' => 'index']); $router->add("/user/1/", ['name' => 'user-view-static', 'action' => 'view', 'controller' => 'user', 'module' => 'user']); var_dump($router->match("/")); var_dump($router->match("/user/1/")); var_dump(\Owl\Annotations\Reader::parse(' /** * @Post * @Url("/user/:id/") */ '));