2012-03-14 22 views
-1

我一個bulding的MVC網站,我想要得到的網頁數量

咱們說的URL看起來像:

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

其中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

這是近unpossible告訴,因爲我們不要」不用瞭解你的控制器界面或你的應用程序如何啓動。你能提供更多的代碼嗎? – acme 2012-03-14 12:06:43

回答

1
  1. 也許您必須創建一個路由器類,其中將放置來自上述示例的邏輯。

  2. 你必須決定你有什麼控制器調用和路由器值傳遞給該控制器,這樣的事情:


<?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(); 
相關問題