亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 3373 | 回復(fù): 2
打印 上一主題 下一主題

php 簡單的路由器 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2015-07-01 13:37 |只看該作者 |倒序?yàn)g覽
php 解析地址
[PHP]代碼
  1. <?php
  2. /**
  3. * 路由器【核心文件】
  4. * @author hxm
  5. * @version 1.0
  6. * @since 2015.05.04
  7. */
  8. class Router extends Object
  9. {
  10.     public  $module = 'indexAction';   //缺省控制器類名
  11.     public  $action = 'index';         //控制器缺省方法
  12.     public  $r      = true;            //是否可以自定義
  13.      
  14.     /**
  15.      * 分解路由規(guī)則
  16.      *
  17.      * @access  public
  18.      * @return  array
  19.      */
  20.     public function path()
  21.     {
  22.         if ( trim(_URI_,'/') )
  23.         {
  24.             $url = explode('/', _URI_);
  25.             $this->module = $url[1];
  26.             $this->action = isset($url[2]) && !empty($url[2]) ? $url[2] : $this->action;
  27.         } else {
  28.             $this->module = $this->action;
  29.         }
  30.          
  31.         if($this->r == false )
  32.         {
  33.             $made = array(
  34.                 'module' => $this->module,
  35.                 'action' => $this->action,
  36.             );
  37.             return $this->getObject($made , 'webApp');
  38.         } else {
  39.             return $this->rewrite($this->module, $this->action);   
  40.         }
  41.     }
  42.      
  43.     /**
  44.      * 重新定義框架重寫規(guī)則
  45.      *
  46.      * @access  private
  47.      * @param   string  $mod    控制器名
  48.      * @param   string  $action 請求的操作
  49.      * @param   string  $route  規(guī)則文件
  50.      * @return  array
  51.      */
  52.     private function rewrite( $mod , $action )
  53.     {
  54.         $file = $this->route();
  55.         require $file;
  56.         $url = '/'.trim( _URI_ ,'/').'/';
  57.         if( isset($rules) )
  58.         {
  59.             foreach ($rules as $key => $val)
  60.             {
  61.                 if(preg_match($val[0], $url) )
  62.                 {
  63.                     $mod    = isset($val[1]['mod'])    ? $val[1]['mod']    : $mod;
  64.                     $action = isset($val[1]['action']) ? $val[1]['action'] : $action;
  65.                 }
  66.                 foreach ( $val[2] as $key => $value )
  67.                 {
  68.                     if ( !(strpos($value, '#') === FALSE) )
  69.                     {
  70.                         preg_match("$value", $url, $result);
  71.                         $param[$key] = isset($result[1]) ? $result[1] : '';
  72.                     } else {
  73.                         $param[$key] = $value;
  74.                     }
  75.                 }
  76.             }
  77.         }

  78.         $made = array(
  79.             'module' => $mod,
  80.             'action' => $action,
  81.             'param'  => $param
  82.         );
  83.         return $this->getObject($made , 'webApp');
  84.     }
  85. }
復(fù)制代碼

論壇徽章:
1
操作系統(tǒng)版塊每日發(fā)帖之星
日期:2016-06-12 06:20:00
2 [報(bào)告]
發(fā)表于 2015-07-01 19:22 |只看該作者
本帖最后由 yakczh_cu 于 2015-07-01 19:29 編輯

用pathinfo


  1. if (isset($_SERVER['PATH_INFO'])) {
  2.         $path=explode('/',$_SERVER['PATH_INFO']);
  3.         list($null,$model,$action)=$path;

  4. }else {
  5.         $model='user';
  6.         $action="home";
  7. }

  8. print $model.'/'.$action;

復(fù)制代碼

論壇徽章:
59
2015七夕節(jié)徽章
日期:2015-08-24 11:17:25ChinaUnix專家徽章
日期:2015-07-20 09:19:30每周論壇發(fā)貼之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38榮譽(yù)版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年紀(jì)念徽章
日期:2015-07-20 11:05:27IT運(yùn)維版塊每日發(fā)帖之星
日期:2015-07-20 11:05:34操作系統(tǒng)版塊每日發(fā)帖之星
日期:2015-07-20 11:05:36程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-07-20 11:05:40數(shù)據(jù)庫技術(shù)版塊每日發(fā)帖之星
日期:2015-07-20 11:05:432015年辭舊歲徽章
日期:2015-07-20 11:05:44
3 [報(bào)告]
發(fā)表于 2015-07-10 10:15 |只看該作者
是MVC框架里整出來的東西吧。
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP