Yaf_Router::addConfig

(Yaf >=1.0.0)

Yaf_Router::addConfigAdiciona as rotas definidas na configuração

Descrição

public Yaf_Router::addConfig(Yaf_Config_Abstract $config): bool

Adiciona as rotas definidas na configuração à pilha de rotas do Yaf_Router.

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Uma instância de Yaf_Config_Abstract, que deve conter uma ou mais configurações de rotas válidas.

Exemplos

Exemplo #1 Exemplo de application.ini()

;a ordem é muito importante, as primeiras serão chamadas primeiro

;uma rota de re-escrita que corresponde a /product/*/*
routes.route_name.type="rewrite"
routes.route_name.match="/product/:name/:value"
routes.route_name.route.controller=product
routes.route_name.route.action=info

;uma rota regex que corresponde a /list/*/*
routes.route_name1.type="regex"
routes.route_name1.match="#^list/([^/]*)/([^/]*)#"
routes.route_name1.route.controller=Index
routes.route_name1.route.action=action
routes.route_name1.map.1=name
routes.route_name1.map.2=value

;uma rota simples que corresponde a /**?c=controller&a=action&m=module
routes.route_name2.type="simple"
routes.route_name2.controller=c
routes.route_name2.module=m
routes.route_name2.action=a

;uma rota simples que corresponde a /**?r=PATH_INFO
routes.route_name3.type="supervar"
routes.route_name3.varname=r

;uma rota de mapeamento que corresponde a qualquer requisição ao controlador
routes.route_name4.type="map"
routes.route_name4.controllerPrefer=TRUE
routes.route_namer.delimiter="#!"

Exemplo #2 Exemplo de Yaf_Dispatcher::autoConfig()

<?php
class Bootstrap extends Yaf_Bootstrap_Abstract{
public function
_initConfig() {
$config = Yaf_Application::app()->getConfig();
Yaf_Registry::set("config", $config);
}

public function
_initRoute(Yaf_Dispatcher $dispatcher) {
$router = $dispatcher->getRouter();
/**
* podem ser adicionadas algumas rotas predefinidas no application.ini
*/
$router->addConfig(Yaf_Registry::get("config")->routes);
}
?>
adicione uma nota

Notas Enviadas por Usuários (em inglês) 1 note

up
0
arthurzwl at gmail dot com
7 years ago
The regex route should like this.
You need add "/" before "list"
routes.route_name1.match="#^/list/([^/]*)/([^/]*)#"
To Top