Net_URL_Mapper can handle different types of mapping:
In the following examples we assume that URLs are mapped to a desginated controller
and an action. But the controller
and action
keys provided could be called anything and are not mandatory.
The following code snippet maps the URL /home
:
<?php
require_once 'Net/URL/Mapper.php';
$m = Net_URL_Mapper::getInstance();
$m->connect('home', array('controller' => 'index', 'action' => 'index'));
var_dump($m->match($_SERVER['REQUEST_URI']));
?>
The following code snippet maps a URL such as /news/1
,
/news/2
to a designated controller and action.
<?php
require_once 'Net/URL/Mapper.php';
$m = Net_URL_Mapper::getInstance();
$m->connect('news/:id', array('controller' => 'news', 'action' => 'read'));
var_dump($m->match($_SERVER['REQUEST_URI']));
?>
The following code snippet maps all URLs with /content
to a
controller called content
and an action called
display
. Optionally, we'll determine the section on the page using a
wildcard. The default for section is #toc
(Table Of Contents).
<?php
require_once 'Net/URL/Mapper.php';
$m = Net_URL_Mapper::getInstance();
$path = 'content/*(section)';
$defaults = array(
'controller' => 'content',
'action' => 'display',
'section' => '#toc',
);
$m->connect($path, $defaults);
var_dump($m->match($_SERVER['REQUEST_URI']));
?>