1. 程式人生 > >php搭建mvc框架三(路由類)

php搭建mvc框架三(路由類)


在這裡補充一下:“大家可以先把目錄建一下,”;

首先呢在mvc下面建立.htaccess

內容:

<IfModule mod_rewrite.c>
  Options +FollowSymlinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?$1 [QSA,PT,L]
</IfModule>
路由類程式碼如下
在lib資料夾下建立ruote.php檔案
<?php
namespace 
core\lib; class route{ public $ctrl; public $action; public function __construct(){ //p($_SERVER); //隱藏index.php //獲取url 引數部分 //返回控制器和方法 // p($_SERVER); // p($_SERVER['REQUEST_URI']); //判斷地址引數 if(isset($_SERVER['REQUEST_URI'])&&$_SERVER['REQUEST_URI'] != '/'){ $path
=$_SERVER['REQUEST_URI']; // p($path); $patharr=explode('/',trim($path,'/')); //p($patharr); //p($patharr); //檢測變數,unset是為了得到傳的id 例:http://www.new.com/index/index/id/5 當 例:http://www.new.com/index/index/id/5/6 這種情況下加了if判斷 (while下的if判斷) if(isset($path[0])){ $this->ctrl = $patharr[0]; } unset($patharr
[0]); if(isset($path[1])){ $this->action = $patharr[1]; unset($patharr[1]); } else{ $this->action = 'index'; } $count = count($patharr)+2; $i=2; while($i<$count){ if(isset($patharr[$i+1])) { $_GET[$patharr[$i]] = $patharr[$i + 1]; } $i = $i + 2; } // p($patharr); //p($_GET); }else{ $this->ctrl='index'; $this->action='index'; } } }
僅供參考