Bonjour,
Voila je rencontre un petit problème avec mon code.
router.php
<?php
class router{
<?php
class Router{
static $routes = array();
static function parse($url, $request){
$url = trim($url, '/');
$params = explode('/', $url);
$request->controller = $params[0];
$request->action = isset($params[1]) ? $params[1] : 'index';
$request->params = array_slice($params, 2);
return true;
}
//Connect
static function connect($redir,$url){
$r = array();
$r['origin'] = preg_replace('/([a-z0-9]+):(^\/)/','${1}:(?p<${1}>${2})',$url);
$r['origin'] = '/'.str_replace('/','\/',$r['origin']).'/';
self::$routes[] = $r;
debug($r);
}
//
static function url($url){
foreach(self::$routes as $v){
if(preg_match($v['origin'],$url,$match)){
debug('ok');
}
}
return $url;
}
}
?>
conf.php
<?php
class Conf{
static $debug = 1;
static $databases = array(
'default' => array(
'host' =>'localhost',
'database' => 'tuto',
'login' => 'root',
'password' => ''
)
);
}
Router::connect('post/:slug-:id','posts/view/id:([0-9]+)/slug:([a-z0-9\-]+)');
?>
index.php de ma page posts
<div class="page-header">
<h1>Le blog pkrclub</h1>
</div>
<?php foreach ($posts as $k => $v): ?>
<h2><?php echo $v->name; ?></h2>
<?php echo $v->content; ?>
<p><a href="<?php echo Router::url("/posts/view/id:{$v->id}/slug:$v->slug"); ?>">Lire la suite →</a></p>
<?php endforeach ?>
<div class="pagination">
<ul>
<?php for($i=1; $i <= $page; $i++): ?>
<li <?php if($i==$this->request->page) echo 'class="active"'; ?>><a href="?page=<?php echo $i; ?>"><?php echo $i; ?></a></li>
<?php endfor; ?>
</ul>
</div>
ok sur ma page
Array
(
[origin] => /posts\/view\/id:([0-9]+)\/slug:([a-z0-9\-]+)/
)
uniquement