コード例 #1
0
ファイル: RouterMvcTest.php プロジェクト: mattvb91/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());
     }
 }
コード例 #2
0
ファイル: GroupTest.php プロジェクト: phalcon/cphalcon
 public function testGroups()
 {
     $this->specify("Router Groups don't work properly", function () {
         \Phalcon\Mvc\Router\Route::reset();
         $router = new \Phalcon\Mvc\Router(false);
         $blog = new \Phalcon\Mvc\Router\Group(["module" => "blog", "controller" => "index"]);
         $blog->setPrefix("/blog");
         $blog->add("/save", ["action" => "save"]);
         $blog->add("/edit/{id}", ["action" => "edit"]);
         $blog->add("/about", ["controller" => "about", "action" => "index"]);
         $router->mount($blog);
         $routes = ["/blog/save" => ["module" => "blog", "controller" => "index", "action" => "save"], "/blog/edit/1" => ["module" => "blog", "controller" => "index", "action" => "edit"], "/blog/about" => ["module" => "blog", "controller" => "about", "action" => "index"]];
         foreach ($routes as $route => $paths) {
             $router->handle($route);
             expect($router->wasMatched())->true();
             expect($paths["module"])->equals($router->getModuleName());
             expect($paths["controller"])->equals($router->getControllerName());
             expect($paths["action"])->equals($router->getActionName());
             expect($blog)->equals($router->getMatchedRoute()->getGroup());
         }
     });
 }
コード例 #3
0
ファイル: RouterMvcTest.php プロジェクト: noobiwan/cphalcon
 public function testNotFoundPaths()
 {
     Phalcon\Mvc\Router\Route::reset();
     $router = new Phalcon\Mvc\Router(false);
     $router->add('/static/route');
     $router->notFound(array('module' => 'module', 'namespace' => 'namespace', 'controller' => 'controller', 'action' => 'action'));
     $router->handle();
     $this->assertEquals($router->getControllerName(), 'controller');
     $this->assertEquals($router->getActionName(), 'action');
     $this->assertEquals($router->getModuleName(), 'module');
     $this->assertEquals($router->getNamespaceName(), 'namespace');
 }
コード例 #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();
コード例 #5
0
<?php

//These routes simulate real URIs
$testRoutes = array('/', '/index', '/index/index', '/index/test', '/products', '/products/index/', '/products/show/101');
$router = new Phalcon\Mvc\Router();
//Add here your custom routes
//...
//Testing each route
foreach ($testRoutes as $testRoute) {
    //Handle the route
    $router->handle($testRoute);
    echo 'Testing ', $testRoute, '<br>';
    //Check if some route was matched
    if ($router->wasMatched()) {
        echo 'Controller: ', $router->getControllerName(), '<br>';
        echo 'Action: ', $router->getActionName(), '<br>';
    } else {
        echo 'The route wasn\'t matched by any route<br>';
    }
    echo '<br>';
}