Yaf_Router::getCurrentRoute
(Yaf >=1.0.0)
Yaf_Router::getCurrentRoute — Récupère le nom effectif de la route
Description
Récupère le nom de la route actuellement en utilisation dans le processus routeur.
Note:
Vous devriez appeler cette méthode une fois le processus routeur terminé, sachant qu'avant la fin du processus, cette méthode retourne toujours
NULL
.
Exemples
Exemple #1 Enregistre quelques routes dans le Bootstrap
<?php
class Bootstrap extends Yaf_Bootstrap_Abstract{
public function _initConfig() {
$config = Yaf_Application::app()->getConfig();
Yaf_Registry::set("config", $config);
}
public function _initRoute(Yaf_Dispatcher $dispatcher) {
$router = $dispatcher->getRouter();
$rewrite_route = new Yaf_Route_Rewrite(
"/product/list/:page",
array(
"controller" => "product",
"action" => "list",
)
);
$regex_route = new Yaf_Route_Rewrite(
"#^/product/info/(\d+)",
array(
"controller" => "product",
"action" => "info",
)
);
$router->addRoute('rewrite', $rewrite_route)->addRoute('regex', $regex_route);
}
/**
* Enregistre un plugin
*/
public function __initPlugins(Yaf_Dispatcher $dispatcher) {
$dispatcher->registerPlugin(new DummyPlugin());
}
?>
Exemple #2 plugin Dummy.php (sous le dossier application.directory/plugins)
<?php
class DummyPlugin extends Yaf_Plugin_Abstract {
public function routerShutdown(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response) {
var_dump(Yaf_Dispatcher::getInstance()->getRouter()->getCurrentRoute());
}
?>
?>
L'exemple ci-dessus va afficher quelque chose de similaire à :
/* Pour http://yourdomain.com/product/list/1 * DummyPlugin affichera : */ string(7) "rewrite" /* Pour http://yourdomain.com/product/info/34 * DummyPlugin affichera : */ string(5) "regex" /* Pour toutes les autres requêtes URI * DummyPlugin affichera : */ string(8) "_default"
Voir aussi
- Yaf_Bootstrap_Abstract
- Yaf_Plugin_Abstract
- Yaf_Router::addRoute() - Ajoute une nouvelle route dans un routeur
Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-yaf-router.getcurrentroute.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
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.