Rechercher une fonction PHP

Yaf_Route_Rewrite::__construct

(Yaf >=1.0.0)

Yaf_Route_Rewrite::__constructConstructeur Yaf_Route_Rewrite

Description

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

Retour à la première page de Manuel PHP  Table des matières Haut

Liste de paramètres

match

Un masque à utiliser sur une requête URI. Si aucune correspondance n'y est trouvée, Yaf_Route_Rewrite retournera FALSE.

Vous pouvez utiliser le style :name pour nommer le segment recherché, et utiliser le caractère * pour récupérer le reste du segment de l'URL.

route

Lorsque le masque trouve une correspondance sur la requête URI, Yaf_Route_Rewrite utilisera ce paramètre pour savoir quel module/controller/action doit être routé.

Les éléments du tableau module/controller/action sont optionnels, si vous ne les assignez pas en une valeur spécifique, ils seront routés vers la cible par défaut.

verify

Retour à la première page de Manuel PHP  Table des matières Haut

Exemples

Exemple #1 Exemple avec Yaf_Route_Rewrite()

<?php
   
/**
    * Ajoute une route de réécriture à la pile de routes de Yaf_Router
    */
    
Yaf_Dispatcher::getInstance()->getRouter()->addRoute("name",
        new 
Yaf_Route_rewrite(
           
"/product/:name/:id/*"//correspond à la requête URI "/product"
           
array(
               
'controller' => "product",  //route vers le controlleur produit,
           
),
        )
    );
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

/* Pour http://yourdomain.com/product/foo/22/foo/bar
 * la route résultante aura les valeurs suivantes :
 */
array(
  "controller" => "product",
  "module"     => "index", //(default)
  "action"     => "index", //(default)
)

/**
 * et les paramètres de la requête :
 */
array(
  "name" => "foo",
  "id"   => 22,
  "foo"  => bar
)

Exemple #2 Exemple avec Yaf_Route_Rewrite()

<?php
   
/**
    * Ajoute une route de réécriture à la pile de route Yaf_Router
    * en appelant addconfig
    */
    
$config = array(
        
"name" => array(
           
"type"  => "rewrite",        //route Yaf_Route_Rewrite
           
"match" => "/user-list/:id"//correspond uniquement à /user/list/?/
           
"route" => array(
               
'controller' => "user",  //route vers le contrôleur utilisateur
               
'action'     => "list",  //route vers la liste des actions
           
),
        ),
    );
    
Yaf_Dispatcher::getInstance()->getRouter()->addConfig(
        new 
Yaf_Config_Simple($config));
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

/* Pour http://yourdomain.com/user-list/22
 * la route résultera en les valeurs suivantes :
 */
array(
  "controller" => "user",
  "action"     => "list",
  "module"     => "index", //(default)
)

/**
 * et les paramètres de la requête :
 */
array(
  "id"   => 22,
)

Exemple #3 Exemple avec Yaf_Route_Rewrite (depuis 2.3.0)()

<?php
   
/**
    * Ajout d'une route de ré-écriture utilisée pour chercher un résultat du type m/c/a
    */
    
$config = array(
        
"name" => array(
           
"type"  => "rewrite",        
           
"match" => "/user-list/:a/:id"//correspond uniquement à /user-list/*
           
"route" => array(
               
'controller' => "user",   //route vers le contrôleur user,
               
'action'     => ":a",     //route vers l'action :a
           
),
        ),
    );
    
Yaf_Dispatcher::getInstance()->getRouter()->addConfig(
        new 
Yaf_Config_Simple($config));
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

/* pour http://yourdomain.com/user-list/list/22
 * la route va correspondre aux valeurs suivantes :
 */
array(
  "controller" => "user",
  "action"     => "list",
  "module"     => "index", //(par défaut)
)

/**
 * et les paramètres demandés :
 */
array(
  "id"   => 22,
)

Retour à la première page de Manuel PHP  Table des matières Haut

Voir aussi

Rechercher une fonction PHP

Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-yaf-route-rewrite.construct.html

L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.

Références

  1. Consulter le document html Langue du document :fr Manuel PHP : http://php.net

Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.

Table des matières Haut