Yaf_Route_Regex::__construct

(Yaf >=1.0.0)

Yaf_Route_Regex::__constructLe but __construct

Description

public Yaf_Route_Regex::__construct ( string $match , array $route [, array $map [, array $verify ]] )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

match

Un masque de Regex complet à utiliser pour y faire correspondre une requête URI ; si aucune correspondance n'est trouvée, Yaf_Route_Regex retournera FALSE.

route

Lorsque le masque trouve une correspondance dans la requête URI, Yaf_Route_Regex utilisera ce paramètre pour décider quel m/c/a doit être routé.

Les éléments du tableau m/c/a sont optionnels ; si vous n'assignez pas de valeurs spécifiques à ces éléments, ils seront routés vers la route par défaut.

map

Un tableau permettant d'assigner les noms aux éléments trouvés via le masque.

verify

Valeurs de retour

Exemples

Exemple #1 Exemple avec Yaf_Route_Regex()

<?php
   /**
	* Ajoute une route Regex à la pile de routes Yaf_Router
	*/
	Yaf_Dispatcher::getInstance()->getRouter()->addRoute("name",
		new Yaf_Route_Regex(
		   "#^/product/([^/]+)/([^/])+#", //correspond à la requête URI "/product"
		   array(
			   'controller' => "product",  //route vers le controlleur produit,
		   ),
		   array(
			  1 => "name",   // maintenant, vous pouvez appeler $request->getParam("name")
			  2 => "id",	 // pour récupérer la première capture du masque.
		   )
		)
	);
?>

Exemple #2 Exemple avec Yaf_Route_Regex()

<?php
   /**
	* Ajoute une route Regex à la pile de routes Yaf_Router en appelant addconfig
	*/
	$config = array(
		"name" => array(
		   "type"  => "regex",		  //la route Yaf_Route_Regex
		   "match" => "#(.*)#",		 //correspondance arbitraire à la requête URI
		   "route" => array(
			   'controller' => "product",  //route vers le controlleur produit,
			   'action'	 => "dummy",	//route pour l'action dummy
		   ),
		   "map" => array(
			  1 => "uri",   // maintenant, vous pouvez appeler $request->getParam("uri")
		   ),
		),
	);
	Yaf_Dispatcher::getInstance()->getRouter()->addConfig(
		new Yaf_Config_Simple($config));
?>

Voir aussi

LoadingChargement en cours