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';
        }
    }
}
仅供参考

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值