コード例 #1
0
ファイル: RouterMvcTest.php プロジェクト: mattvb91/cphalcon
 /**
  * @dataProvider hostnamedRegexRoutesProvider
  */
 public function testHostnameRegexRouteGroup($actualHost, $expectedHost, $controller)
 {
     Phalcon\Mvc\Router\Route::reset();
     $di = new Phalcon\DI();
     $di->set('request', function () {
         return new Phalcon\Http\Request();
     });
     $router = new Phalcon\Mvc\Router(false);
     $router->setDI($di);
     $router->add('/edit', array('controller' => 'posts3', 'action' => 'edit3'));
     $group = new Phalcon\Mvc\Router\Group();
     $group->setHostname('([a-z]+).phalconphp.com');
     $group->add('/edit', array('controller' => 'posts', 'action' => 'edit'));
     $router->mount($group);
     $_SERVER['HTTP_HOST'] = $actualHost;
     $router->handle('/edit');
     $this->assertEquals($router->getControllerName(), $controller);
     $this->assertEquals($router->getMatchedRoute()->getHostname(), $expectedHost);
 }
コード例 #2
0
ファイル: RouterMvcTest.php プロジェクト: noobiwan/cphalcon
 public function testGroups()
 {
     Phalcon\Mvc\Router\Route::reset();
     $router = new Phalcon\Mvc\Router(false);
     $blog = new Phalcon\Mvc\Router\Group(array('module' => 'blog', 'controller' => 'index'));
     $blog->setPrefix('/blog');
     $blog->add('/save', array('action' => 'save'));
     $blog->add('/edit/{id}', array('action' => 'edit'));
     $blog->add('/about', array('controller' => 'about', 'action' => 'index'));
     $router->mount($blog);
     $routes = array('/blog/save' => array('module' => 'blog', 'controller' => 'index', 'action' => 'save'), '/blog/edit/1' => array('module' => 'blog', 'controller' => 'index', 'action' => 'edit'), '/blog/about' => array('module' => 'blog', 'controller' => 'about', 'action' => 'index'));
     foreach ($routes as $route => $paths) {
         $router->handle($route);
         $this->assertTrue($router->wasMatched());
         $this->assertEquals($paths['module'], $router->getModuleName());
         $this->assertEquals($paths['controller'], $router->getControllerName());
         $this->assertEquals($paths['action'], $router->getActionName());
         $this->assertEquals($blog, $router->getMatchedRoute()->getGroup());
     }
 }
コード例 #3
0
ファイル: GroupTest.php プロジェクト: phalcon/cphalcon
 public function testHostnameRegexRouteGroup()
 {
     $this->specify("Router Groups with regular expressions don't work properly", function ($actualHost, $expectedHost, $controller) {
         \Phalcon\Mvc\Router\Route::reset();
         $di = new \Phalcon\DI();
         $di->set("request", function () {
             return new \Phalcon\Http\Request();
         });
         $router = new \Phalcon\Mvc\Router(false);
         $router->setDI($di);
         $router->add("/edit", ["controller" => "posts3", "action" => "edit3"]);
         $group = new \Phalcon\Mvc\Router\Group();
         $group->setHostname("([a-z]+).phalconphp.com");
         $group->add("/edit", ["controller" => "posts", "action" => "edit"]);
         $router->mount($group);
         $_SERVER["HTTP_HOST"] = $actualHost;
         $router->handle("/edit");
         expect($router->getControllerName())->equals($controller);
         expect($router->getMatchedRoute()->getHostname())->equals($expectedHost);
     }, ["examples" => $this->hostnamedRegexRoutesProvider()]);
 }
コード例 #4
0
<?php

// Creating a router
$router = new \Phalcon\Mvc\Router();
// Define routes here if any
// ...
// Taking URI from $_GET["_url"]
$router->handle();
// or Setting the URI value directly
$router->handle("/employees/edit/17");
// Getting the processed controller
echo $router->getControllerName();
// Getting the processed action
echo $router->getActionName();
//Get the matched route
$route = $router->getMatchedRoute();