我正在建立一个MVC网站,我想得到页面的编号
让网址看起来像:
其中fav是调用fav视图的控制器,而fav视图反过来显示用户的最爱。
现在页面:
$request = $_SERVER['REQUEST_URI'];
$request = explode('/', $request);
unset($request[0]); // to remove unwanted values like sitecom
foreach($request as $i=>$one) {
if( FALSE!==strpos($one,':')
&& preg_match('/^([a-z0-9\-_]+)\:(.*)$/iu',$one,$m) ) {
$m[1];
$m[2];
}
}
结果是:
$m[1] = page;
$m[2] = 6;
如何将$m[1]
和$m[2]
发送给控制器。如果$m[1] = page
获得$m[2]
等等......
可能有一个功能,但是怎么样?
答案 0 :(得分:1)
您可能需要创建一个路由器类,其中将放置上述示例中的逻辑。
您必须决定调用哪个控制器并将值从路由器传递到此控制器,如下所示:
<?php
$router = new Router($_REQUEST);
$ctrlCls = $rounter->getCtrl(); // return your FavController class
$ctlr = new $ctrlCls();
// it'll set an array('page' => N, 'key' => 'value', etc)
$ctrl->setParams($rounter->getParams());
// maybe even $ctrl->setPage($router->getPage());
$ctrl->run();