Constructeur Yaf_Route_Regex

# Yaf_Route_Regex::__construct

(Yaf >=1.0.0)

Yaf_Route_Regex::__construct — Constructeur Yaf_Route_Regex

### Description

public function Yaf_Route_Regex::__construct(
string `$match`,
array `$route`,
array `$map` = ?,
array `$verify` = ?,
string `$reverse` = ?
)

### 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 on n'assigne 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`

`reverse`

  une chaîne de caractères, utilisé pour assembler l'url. Voir la méthode Yaf_Route_Regex::assemble().

  > Note:

  > Ce paramètre a été introduit en version 2.3.0

### 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 contrôleur 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 (à partir de la version 2.3.0)

    <?php
       /**
        * Utilise le résultat des correspondances comme nom MVC
        */
        Yaf_Dispatcher::getInstance()->getRouter()->addRoute("name",
            new Yaf_Route_Regex(
               "#^/product/([^/]+)/([^/])+#i", //trouve l'URI demandée après "/product"
               array(
                  'controller' => ":name", // route vers :name, qui correspond à $1 dans le résultat de la correspondance
                                           // comme nom du contrôleur
               ),
               array(
                  1 => "name",   // maintenant, vous pouvez appeler $request->getParam("name")
                  2 => "id",     // pour récupérer la première capture du masque de correspondance
               )
            )
        );
    ?>

Exemple #3 Exemple avec Yaf_Route_Regex et la capture du nom (depuis 2.3.0)

    <?php
       /**
        * Use match result as MVC name
        */
        Yaf_Dispatcher::getInstance()->getRouter()->addRoute("name",
            new Yaf_Route_Regex(
               "#^/product/(?<name>[^/]+)/([^/])+#i", //trouve le dernier "/product" de l'URI demandé
               array(
               'controller' => ":name", // route vers :name,
                                        // qui est le groupe de capture 'name' dans le résultat des correspondances comme nom du contrôleur
               ),
               array(
                  2 => "id",     // pour récupérer la première capture dans le masque de recherche.
               )
            )
        );
    ?>

Exemple #4 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 contrôleur 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

- Yaf_Router::addRoute() - Ajoute une nouvelle route dans un routeur
- Yaf_Router::addConfig() - Ajoute une route définie dans la configuration d'un routeur
- Yaf_Route_Static
- Yaf_Route_Supervar
- Yaf_Route_Simple
- Yaf_Route_Rewrite
- Yaf_Route_Map

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open