Phalcon\Mvc\Router is the standard framework router. Routing is the * process of taking a URI endpoint (that part of the URI which comes after the base URL) and * decomposing it into parameters to determine which module, controller, and * action of that controller should receive the request
* *
*
* $router = new Phalcon\Mvc\Router();
*
* $router->add(
* "/documentation/{chapter}/{name}.{type:[a-z]+}",
* array(
* "controller" => "documentation",
* "action" => "show"
* )
* );
*
* $router->handle();
*
* echo $router->getControllerName();
*
*
*/
class Router implements \Phalcon\Mvc\RouterInterface, \Phalcon\DI\InjectionAwareInterface {
const URI_SOURCE_GET_URL = 0;
const URI_SOURCE_SERVER_REQUEST_URI = 1;
protected $_dependencyInjector;
protected $_uriSource;
protected $_namespace;
protected $_module;
protected $_controller;
protected $_action;
protected $_params;
protected $_routes;
protected $_matchedRoute;
protected $_matches;
protected $_wasMatched;
protected $_defaultNamespace;
protected $_defaultModule;
protected $_defaultController;
protected $_defaultAction;
protected $_defaultParams;
protected $_removeExtraSlashes;
protected $_notFoundPaths;
protected $_isExactControllerName;
/**
* \Phalcon\Mvc\Router constructor
*
* @param boolean $defaultRoutes
*/
public function __construct($defaultRoutes=null){ }
/**
* Sets the dependency injector
*
* @param \Phalcon\DiInterface $dependencyInjector
*/
public function setDI($dependencyInjector){ }
/**
* Returns the internal dependency injector
*
* @return \Phalcon\DiInterface
*/
public function getDI(){ }
/**
* Get rewrite info. This info is read from $_GET['_url']. This returns '/' if the rewrite information cannot be read
*
* @return string
*/
public function getRewriteUri(){ }
/**
* Sets the URI source. One of the URI_SOURCE_* constants
*
*
* $router->setUriSource(Router::URI_SOURCE_SERVER_REQUEST_URI);
*
*
* @param string $uriSource
* @return \Phalcon\Mvc\Router
*/
public function setUriSource($uriSource){ }
/**
* Set whether router must remove the extra slashes in the handled routes
*
* @param boolean $remove
* @return \Phalcon\Mvc\Router
*/
public function removeExtraSlashes($remove){ }
/**
* Sets the name of the default namespace
*
* @param string $namespaceName
* @return \Phalcon\Mvc\Router
*/
public function setDefaultNamespace($namespaceName){ }
/**
* Sets the name of the default module
*
* @param string $moduleName
* @return \Phalcon\Mvc\Router
*/
public function setDefaultModule($moduleName){ }
/**
* Sets the default controller name
*
* @param string $controllerName
* @return \Phalcon\Mvc\Router
*/
public function setDefaultController($controllerName){ }
/**
* Sets the default action name
*
* @param string $actionName
* @return \Phalcon\Mvc\Router
*/
public function setDefaultAction($actionName){ }
/**
* Sets an array of default paths. If a route is missing a path the router will use the defined here
* This method must not be used to set a 404 route
*
*
* $router->setDefaults(array(
* 'module' => 'common',
* 'action' => 'index'
* ));
*
*
* @param array $defaults
* @return \Phalcon\Mvc\Router
*/
public function setDefaults($defaults){ }
/**
* Handles routing information received from the rewrite engine
*
*
* //Read the info from the rewrite engine
* $router->handle();
*
* //Manually passing an URL
* $router->handle('/posts/edit/1');
*
*
* @param string $uri
*/
public function handle($uri=null){ }
/**
* Adds a route to the router without any HTTP constraint
*
*
* $router->add('/about', 'About::index');
*
*
* @param string $pattern
* @param string/array $paths
* @param string $httpMethods
* @return \Phalcon\Mvc\Router\Route
*/
public function add($pattern, $paths=null, $httpMethods=null){ }
/**
* Adds a route to the router that only match if the HTTP method is GET
*
* @param string $pattern
* @param string/array $paths
* @return \Phalcon\Mvc\Router\Route
*/
public function addGet($pattern, $paths=null){ }
/**
* Adds a route to the router that only match if the HTTP method is POST
*
* @param string $pattern
* @param string/array $paths
* @return \Phalcon\Mvc\Router\Route
*/
public function addPost($pattern, $paths=null){ }
/**
* Adds a route to the router that only match if the HTTP method is PUT
*
* @param string $pattern
* @param string/array $paths
* @return \Phalcon\Mvc\Router\Route
*/
public function addPut($pattern, $paths=null){ }
/**
* Adds a route to the router that only match if the HTTP method is PATCH
*
* @param string $pattern
* @param string/array $paths
* @return \Phalcon\Mvc\Router\Route
*/
public function addPatch($pattern, $paths=null){ }
/**
* Adds a route to the router that only match if the HTTP method is DELETE
*
* @param string $pattern
* @param string/array $paths
* @return \Phalcon\Mvc\Router\Route
*/
public function addDelete($pattern, $paths=null){ }
/**
* Add a route to the router that only match if the HTTP method is OPTIONS
*
* @param string $pattern
* @param string/array $paths
* @return \Phalcon\Mvc\Router\Route
*/
public function addOptions($pattern, $paths=null){ }
/**
* Adds a route to the router that only match if the HTTP method is HEAD
*
* @param string $pattern
* @param string/array $paths
* @return \Phalcon\Mvc\Router\Route
*/
public function addHead($pattern, $paths=null){ }
/**
* Mounts a group of routes in the router
*
* @param \Phalcon\Mvc\Router\Group $route
* @return \Phalcon\Mvc\Router
*/
public function mount($group){ }
/**
* Set a group of paths to be returned when none of the defined routes are matched
*
* @param array $paths
* @return \Phalcon\Mvc\Router
*/
public function notFound($paths){ }
/**
* Removes all the pre-defined routes
*/
public function clear(){ }
/**
* Returns the processed namespace name
*
* @return string
*/
public function getNamespaceName(){ }
/**
* Returns the processed module name
*
* @return string
*/
public function getModuleName(){ }
/**
* Returns the processed controller name
*
* @return string
*/
public function getControllerName(){ }
/**
* Returns the processed action name
*
* @return string
*/
public function getActionName(){ }
/**
* Returns the processed parameters
*
* @return array
*/
public function getParams(){ }
/**
* Returns the route that matchs the handled URI
*
* @return \Phalcon\Mvc\Router\Route
*/
public function getMatchedRoute(){ }
/**
* Returns the sub expressions in the regular expression matched
*
* @return array
*/
public function getMatches(){ }
/**
* Checks if the router macthes any of the defined routes
*
* @return bool
*/
public function wasMatched(){ }
/**
* Returns all the routes defined in the router
*
* @return \Phalcon\Mvc\Router\Route[]
*/
public function getRoutes(){ }
/**
* Returns a route object by its id
*
* @param string $id
* @return \Phalcon\Mvc\Router\Route
*/
public function getRouteById($id){ }
/**
* Returns a route object by its name
*
* @param string $name
* @return \Phalcon\Mvc\Router\Route
*/
public function getRouteByName($name){ }
/**
* Returns whether controller name should not be mangled
*/
public function isExactControllerName(){ }
}
}