如何设置函数$ key和$ value

时间:2012-03-14 11:56:05

标签: php model-view-controller function

我正在建立一个MVC网站,我想得到页面的编号

让网址看起来像:

  

http://site.com/fav/page:6

其中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]等等......

可能有一个功能,但是怎么样?

1 个答案:

答案 0 :(得分:1)

  1. 您可能需要创建一个路由器类,其中将放置上述示例中的逻辑。

  2. 您必须决定调用哪个控制器并将值从路由器传递到此控制器,如下所示:


  3. <?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();