Test du nouveau type d'évenement
Olivier Pascal <[email protected]> Sun, 4 Apr 2004 17:36:27 +0400
| Newsgroups | gmane.comp.web.blogv2.devel |
|---|---|
| Message-ID | <[email protected]> |
Du nouveau dans
/head/v2/tmp
Je viens de faire une classe UriParser de base :
$uri = new UriParser('/blogv2/MachinBidule?Commentaires=oui&Truc=non) ;
On a maintenant :
$uri->simple_uri = '/blogv2/MachinBidule'
$uri->params = Array
(
[Commentaires] => oui
[Truc] => non
)
Le comportement est le même que celui de PHP, à savoir que si un deuxiÚme '?'
est trouvé dans l'uri, il sera traité dans la valeur de la variable et non
comme le début d'une nouvelle série de variables.
Passons ces détails et voyons un peu ce que j'ai pu tripatouiller dans le
contrÃŽleur d'Eric ... (/head/v2/tmp/Controler.class.php)
Bon j'ai fait quelques tests sur le nouveau type d'évenement et ça marche du
tonnerre, enfin du concret :-)
D'abord je défini le gestionnaire avec
$ctrl->setHandler('mod', 'testModule') ;
soit la classe 'testModule' sous le nom de 'mod' dans le contrÃŽleur
Ensuite je défini l'évenement avec
$ctrl->setUriEvent('^/blogv2/(.*)', 'mod') ;
pour matcher les urls qui commencent par /blogv2 et lancer le gestionnaire
dénommé 'mod', mais ça vous l'avez compris
Enfin j'exécute le contrÎleur avec
$ctrl->execute($uri->simple_uri, $uri->params) ;
en lui passant les bons paramÚtres (voir plus haut la définition de UriParser)
Résultat : si $uri->simple_uri débute par /blogv2, le contrÎleur appelera
$testModule->execute() avec 2 paramÚtres :
- les résultats de la recherche de l'expression rationnelle sur l'uri
- les paramÚtres de l'uri
Soit un beau
| Hello world !!!
|
| $uri_matches
| Array
| (
| [0] => /blogv2/MachinBidule
| [1] => MachinBidule
| )
|
|
| $uri_params
| Array
| (
| [Commentaires] => oui
| [Truc] => non
| )
!! Cétypabo ?
--
Olivier Pascal