public function addRoutes(Router $router) { $router->add('/' . $this->getApiRootUrl() . '(\\/?)', array('namespace' => $this->getApiControllerRootNamespace(), 'controller' => 'Index', 'action' => 'index')); $router->addGet('/' . $this->getApiRootUrl() . '/:controller/:params', array('namespace' => $this->getApiControllerRootNamespace(), 'controller' => 1, 'action' => 'show', 'params' => 2)); $router->addGet('/' . $this->getApiRootUrl() . '/:controller', array('namespace' => $this->getApiControllerRootNamespace(), 'controller' => 1, 'action' => 'index')); $router->addPost('/' . $this->getApiRootUrl() . '/:controller', array('namespace' => $this->getApiControllerRootNamespace(), 'controller' => 1, 'action' => 'create')); $router->addOptions('/' . $this->getApiRootUrl() . '/:controller', array('namespace' => $this->getApiControllerRootNamespace(), 'controller' => 1, 'action' => 'options')); $router->addOptions('/' . $this->getApiRootUrl() . '/:controller/:params', array('namespace' => $this->getApiControllerRootNamespace(), 'controller' => 1, 'action' => 'options')); $router->addDelete('/' . $this->getApiRootUrl() . '/:controller/:params', array('namespace' => $this->getApiControllerRootNamespace(), 'controller' => 1, 'action' => 'delete', 'params' => 2)); $router->addPut('/' . $this->getApiRootUrl() . '/:controller/:params', array('namespace' => $this->getApiControllerRootNamespace(), 'controller' => 1, 'action' => 'update', 'params' => 2)); }
$router = new Router(false); $router->removeExtraSlashes(true); $router->add('/help/stats', ['controller' => 'help', 'action' => 'stats']); $router->add('/help/about', ['controller' => 'help', 'action' => 'about']); $router->add('/help/moderators', ['controller' => 'help', 'action' => 'moderators']); $router->add('/help/voting', ['controller' => 'help', 'action' => 'voting']); $router->add('/help/markdown', ['controller' => 'help', 'action' => 'markdown']); $router->add('/help/karma', ['controller' => 'help', 'action' => 'karma']); $router->add('/help/badges', ['controller' => 'help', 'action' => 'badges']); $router->add('/help/create-post', ['controller' => 'help', 'action' => 'create']); $router->add('/help', ['controller' => 'help', 'action' => 'index']); $router->add('/discussions', ['controller' => 'discussions', 'action' => 'index']); $router->add('/hook/mail-bounce', ['controller' => 'hooks', 'action' => 'mailBounce']); $router->add('/hook/mail-reply', ['controller' => 'hooks', 'action' => 'mailReply']); $router->add('/search', ['controller' => 'discussions', 'action' => 'search']); $router->addPost('/preview', ['controller' => 'utils', 'action' => 'preview']); $router->add('/reply/accept/{id:[0-9]+}', ['controller' => 'replies', 'action' => 'accept']); $router->add('/reply/vote-up/{id:[0-9]+}', ['controller' => 'replies', 'action' => 'voteUp']); $router->add('/reply/vote-down/{id:[0-9]+}', ['controller' => 'replies', 'action' => 'voteDown']); $router->add('/reply/history/{id:[0-9]+}', ['controller' => 'replies', 'action' => 'history'])->beforeMatch([new Ajax(), 'check']); $router->add('/discussion/history/{id:[0-9]+}', ['controller' => 'discussions', 'action' => 'history'])->beforeMatch([new Ajax(), 'check']); $router->add('/discussion/vote-up/{id:[0-9]+}', ['controller' => 'discussions', 'action' => 'voteUp']); $router->add('/poll/vote/{id:[0-9]+}/{option:[0-9]+}', ['controller' => 'polls', 'action' => 'vote']); $router->add('/discussion/vote-down/{id:[0-9]+}', ['controller' => 'discussions', 'action' => 'voteDown']); $router->add('/login/oauth/authorize', ['controller' => 'session', 'action' => 'authorize']); $router->add('/login/oauth/access_token/', ['controller' => 'session', 'action' => 'accessToken']); $router->add('/login/oauth/access_token', ['controller' => 'session', 'action' => 'accessToken']); $router->add('/logout', ['controller' => 'session', 'action' => 'logout']); $router->add('/find-related', ['controller' => 'discussions', 'action' => 'findRelated']); $router->add('/show-related', ['controller' => 'discussions', 'action' => 'showRelated']); $router->add('/notifications', ['controller' => 'discussions', 'action' => 'notifications']);
<?php use Phalcon\Mvc\Router; $router = new Router(false); $router->removeExtraSlashes(true); $router->addGet("/", ['controller' => 'index', 'action' => 'index']); $router->addPost("/", ['controller' => 'index', 'action' => 'handleCardSubmit']); $router->addGet('/index/success', ['controller' => 'index', 'action' => 'success']); return $router;
<?php use Phalcon\Mvc\Router; $router = new Router(); //Remove trailing slashes automatically $router->removeExtraSlashes(true); //main route $router->add("/", array('controller' => 'index', 'action' => 'index')); //GET VERB - GET ELEMENT //Get elemets of relationship. Ex: /department/2/user $router->addGet('/:controller/:int/([a-zA-Z0-9_-]+)', array('controller' => 1, 'action' => "list", 'id' => 2, 'relationship' => 3)); //Get one element. Ex: /user/2 $router->addGet('/:controller/:int', array('controller' => 1, 'action' => "get", 'id' => 2)); //Get all elements. Ex: /user $router->addGet('/:controller', array('controller' => 1, 'action' => "list")); //POST VERB - CREATE ELEMENT //Create a new element. Ex: /user $router->addPost('/:controller', array('controller' => 1, 'action' => "save")); //PUT VERB - UPDATE ELEMENT //Update a new element. Ex: /user $router->addPut('/:controller/:int', array('controller' => 1, 'action' => "save", 'id' => 2)); //DELETE VERB - UPDATE ELEMENT //Update a new element. Ex: /user $router->addDelete('/:controller/:int', array('controller' => 1, 'action' => "delete", 'id' => 2)); //not founded route $router->notFound(array('controller' => 'error', 'action' => 'page404')); $router->setDefaults(array('controller' => 'index', 'action' => 'index')); return $router;
<?php use Phalcon\Mvc\Router; $router = new Router(); $router->addGet("/", array("controller" => "index")); $router->addPost("/new", array("controller" => "new")); // Covers /v/ and /view/ $router->addGet("/v(iew)?/([a-zA-Z0-9]{5,13})", array("controller" => "view", "id" => 2)); $router->addGet("/v(iew)?/([a-zA-Z0-9]{5,13})/raw", array("controller" => "view", "action" => "raw", "id" => 2)); $router->removeExtraSlashes(true); return $router;
/** * Start the session the first time some component request the session service */ $di->set('session', function () { $session = new SessionAdapter(); $session->start(); return $session; }); /** * Register configurations */ $di->set('config', function () use($config) { return $config; }); /** * Register router */ $di->set('router', function () { $router = new Router(); $router->removeExtraSlashes(true); $router->setDefaults(['controller' => 'index', 'action' => 'index']); /*$router->notFound([ 'controller' => 'errors', 'action' => 'pageNotFound' ]);*/ $router->addGet('/project/{profile:([a-zA-Z0-9-(.)]+)}', ['action' => 'profile', 'project' => 1]); $router->addPost('/filter', ['action' => 'filter'])->beforeMatch(function ($uri, $route) { return isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest'; }); return $router; });
public function addPost($pattern, $paths = null, $position = Router::POSITION_LAST) { return parent::addPost($pattern, $paths, $position); }