(PECL yaf >=1.0.0)
Yaf_Route_Regex::__construct — El propósito de __construct
$match
, array $route
[, array $map
[, array $verify
]] )
Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.
match
Un patrón de expresión regular completo, se usará para comparar un URI solicitado, si
no coincide, Yaf_Route_Regex devolverá
FALSE
.
route
Cuando el patrón de comparación coincida con el URI solicitado, Yaf_Route_Regex lo usará para decidir qué m/c/a enrutar.
m/c/a en este array son opcionales, si no se asigna un valor específico, será enrutada al valor predeterminado.
map
Un array para asignar nombres a las capturas del resultado de comparación.
verify
Ejemplo #1 Ejemplo de Yaf_Route_Regex()
<?php
/**
* Añade una ruta de expresión regular a la pila de enrutamiento de Yaf_Router
*/
Yaf_Dispatcher::getInstance()->getRouter()->addRoute("name",
new Yaf_Route_Regex(
"#^/product/([^/]+)/([^/])+#", //comparar los URI solicitados que empiecen por "/product"
array(
'controller' => "product", //ruta al controlador product,
),
array(
1 => "name", // ahora se puede llamar a $request->getParam("name")
2 => "id", // para obtener la primera captura del patrón de comparación.
)
)
);
?>
Ejemplo #2 Ejemplo de Yaf_Route_Regex()
<?php
/**
* Add a regex route to Yaf_Router route stack by calling addconfig
*/
$config = array(
"name" => array(
"type" => "regex", //ruta Yaf_Route_Regex
"match" => "#(.*)#", //comparar URIs solicitados arbitrarios
"route" => array(
'controller' => "product", //ruta al controlador product,
'action' => "dummy", //ruta a una acción sin sentido
),
"map" => array(
1 => "uri", // ahora se puede llamar a $request->getParam("uri")
),
),
);
Yaf_Dispatcher::getInstance()->getRouter()->addConfig(
new Yaf_Config_Simple($config));
?>