ThinkPHP--路由功能

一.路由定义 。启用路由前提是你的 URL 支持 PATHINFO 模式或者兼容模式,而 ThinkPHP 默认的就是 PATHINF 模式

要配置如下启用: 

 //设置模块以及默认模块
    'MODULE_ALLOW_LIST' => array('Home','Admin'),

     'DEFAULT_MODULE' => 'Home', // 默认模块,可以省去模块名输入  http://localhost/php004/User 

  原来的 http://localhost/php004/Home/User/index

    
  二.规则路由   
    //启用路由功能 
    'URL_ROUTER_ON'=>true,
    //配置路由规则
      'URL_ROUTE_RULES'=>array( 

         'u'=>'User/index',

 这里只要输入:http://localhost/php004/u 

原来的:http://localhost/php004/User/index

      ),

//静态地址和动态地址结合路由

1、

 'URL_ROUTE_RULES'=>array( 

'u/:id'=>'User/index', 

 http://localhost/php004/u/3

对应的原URL:http://localhost/php004/User/index/id/5 

3就是传递的id值,通过$_GET['id']获取。

),


2、

 'u/:type/:attr/:list'=>'User/index',  =>http://localhost/php004/u/7/8/9

对应了动态type、attr、list


//全动态地址

 ':u/:id'=>'User/index'


//数字约束 

'u/:id\d'=>'User/index',

 给id后面加上一个正则的\d表示只能传递数字



//支持函数

 'u/:id\d|md5'=>'User/index', 

给id进行md5加密


//可选传参

'u/[:id\d]'=>'User/index',

 这样的话,参数处在可选状态


//$表示后面不允许再有东西 

'u/:id$'=>'User/index',


//正则路由

 '/^u\/(\d{2})$/'=>'User/index?id=:1', 

后面用普通的 URL 模式对应规则,不能使用'User/index/id/:1', 

这里的:1 表示对应第一个正则圆括号。


//正则路由也支持函数 

'/^u\/(\d{2})$/'=>'User/index?id=:1|md5',



静态路由 


静态路由其实就是规则路由的简化版(又称 URL 映射) ,它就是撇除了动态路由的功能。

 //配置静态路由 

'URL_MAP_RULES'=>array(

 'u/i'=>'User/index',

 ),


配置闭包定义,不执行控制器方法 

'URL_ROUTE_RULES'=>array( 

//规则路由 

'u/:id'=>function ($id) {

 echo 'id:'.$id;

 },


 //正则路由

 '/^u\/(\d{2})$/'=>function ($id) {

 echo 'id:'.$id;

 },

 ),


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值