Table Of ContentsPrevious topic< Class Phalcon\Mvc\Model\Validator\Url Next topic |
Class Phalcon\Mvc\Router¶implements Phalcon\Mvc\RouterInterface, Phalcon\DI\InjectionAwareInterface 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 <?php
$router = new Phalcon\Mvc\Router();
$router->add(
"/documentation/{chapter}/{name}.{type:[a-z]+}",
array(
"controller" => "documentation",
"action" => "show"
)
);
$router->handle();
echo $router->getControllerName();
Methods¶public __construct ([boolean $defaultRoutes]) Phalcon\Mvc\Router constructor public setDI (Phalcon\DiInterface $dependencyInjector) Sets the dependency injector public Phalcon\DiInterface getDI () Returns the internal dependency injector public string getRewriteUri () Get rewrite info. This info is read from $_GET[‘_url’]. This returns ‘/’ if the rewrite information cannot be read public Phalcon\Mvc\Router setUriSource (int $uriSource) Sets the URI source. One of the URI_SOURCE_* constants <?php
$router->setUriSource(Router::URI_SOURCE_SERVER_REQUEST_URI);
public Phalcon\Mvc\Router removeExtraSlashes (boolean $remove) Set whether router must remove the extra slashes in the handled routes public Phalcon\Mvc\Router setDefaultNamespace (string $namespaceName) Sets the name of the default namespace public string getDefaultNamespace () Returns the name of the default namespace public Phalcon\Mvc\Router setDefaultModule (string $moduleName) Sets the name of the default module public string getDefaultModule () Returns the name of the default module public Phalcon\Mvc\Router setDefaultController (string $controllerName) Sets the default controller name public string getDefaultController () Returns the default controller name public Phalcon\Mvc\Router setDefaultAction (string $actionName) Sets the default action name public string getDefaultAction () Returns the default action name public Phalcon\Mvc\Router setDefaults (array $defaults) 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 <?php
$router->setDefaults(array(
'module' => 'common',
'action' => 'index'
));
public array getDefaults () Returns an array of default parameters public handle ([string $uri]) Handles routing information received from the rewrite engine <?php
//Read the info from the rewrite engine
$router->handle();
//Manually passing an URL
$router->handle('/posts/edit/1');
public Phalcon\Mvc\Router\Route add (string $pattern, [string/array $paths], [string $httpMethods]) Adds a route to the router without any HTTP constraint <?php
$router->add('/about', 'About::index');
public Phalcon\Mvc\Router\Route addGet (string $pattern, [string/array $paths]) Adds a route to the router that only match if the HTTP method is GET public Phalcon\Mvc\Router\Route addPost (string $pattern, [string/array $paths]) Adds a route to the router that only match if the HTTP method is POST public Phalcon\Mvc\Router\Route addPut (string $pattern, [string/array $paths]) Adds a route to the router that only match if the HTTP method is PUT public Phalcon\Mvc\Router\Route addPatch (string $pattern, [string/array $paths]) Adds a route to the router that only match if the HTTP method is PATCH public Phalcon\Mvc\Router\Route addDelete (string $pattern, [string/array $paths]) Adds a route to the router that only match if the HTTP method is DELETE public Phalcon\Mvc\Router\Route addOptions (string $pattern, [string/array $paths]) Add a route to the router that only match if the HTTP method is OPTIONS public Phalcon\Mvc\Router\Route addHead (string $pattern, [string/array $paths]) Adds a route to the router that only match if the HTTP method is HEAD public Phalcon\Mvc\Router mount (unknown $group) Mounts a group of routes in the router public Phalcon\Mvc\Router notFound (array|string $paths) Set a group of paths to be returned when none of the defined routes are matched public clear () Removes all the pre-defined routes public string getNamespaceName () Returns the processed namespace name public string getModuleName () Returns the processed module name public string getControllerName () Returns the processed controller name public string getActionName () Returns the processed action name public array getParams () Returns the processed parameters public Phalcon\Mvc\Router\Route getMatchedRoute () Returns the route that matchs the handled URI public array getMatches () Returns the sub expressions in the regular expression matched public bool wasMatched () Checks if the router macthes any of the defined routes public Phalcon\Mvc\Router\Route [] getRoutes () Returns all the routes defined in the router public Phalcon\Mvc\Router\Route | false getRouteById (string $id) Returns a route object by its id public Phalcon\Mvc\Router\Route getRouteByName (string $name) Returns a route object by its name public isExactControllerName () Returns whether controller name should not be mangled |