老莫的笔记本  
  
查看: 871|回复: 0

TP5 路由地址

[复制链接]

662

主题

878

帖子

5145

积分

超级版主

Rank: 8Rank: 8

积分
5145
发表于 2018-8-4 11:33:11 | 显示全部楼层 |阅读模式
概念 啥是路由地址:路由地址就是,用户用路由规则访问页面时,真实跳转的地址:【就是Route::rule第二个参数】

种类:
1.路由/模块/控制器   【语法:route::rule('路由规则','模块/控制器/操作') 】
重点
    1.1 可以访问控制器 : ' url_controller_layer ' => 'controller',
    1.2 按从左到右的顺序进行解析: 操作-> 控制器 ->模块 ;
    1.3 支持额外参数查询(查询法师):?变量名=值&变量名2=值2……
虽然是最常用的 也要贴个代码意思意思  就贴个 参数查询的
  1. //第一种 把 sex当做额外参数传递 【本质就是 多变量的部分变量放在 后一个字符串中】
  2. think\Route::get('lmf/:name','articles/test/lmthree?sex=langlang');
复制代码


2.直接路由到操作方法  【语法:  Route::rule( ' 路由规则','@模块/控制器/方法' )  】
重点
    2.1 跳过模块初始化,直接执行 控制器中的方法
    2.2 啥是模块初始化:配置文件和公共文件
    2.3 调用视图时 必须设置完整模板文件的路径
    老莫理解// 第二种,比第一种就多了一个@ 符 ,不过跳过了初始化 【演示的时候是这么干的,先搞个配置项,$name='laomo'  ,  然后在 类的方法中调用了这个配置, 这就是初始化;  如果不初始化,就不会加载配置项,也就是加上这个 @符】
  1. think\Route::get('lmf2/:name','@articles/test/lmthree?sex=langlang');
复制代码


3.直接路由到:类的方法 【语法: Route::rule('路由规则', ' \完整命名空间\类名@动态操作 ');        Route::rule( ' 路由规则' ,' \完整命名空间\类名::静态操作 ' )  】
重点
    3.1 类必须创建在应用目录或子目录中
    3.2 静态方法支持外部动态访问,但建议在语法上分开
    3.3 为了项目规范,除非不得已 否则尽量少用
  1. think\Route::get('lmf3','\app\Test@lmOne');
复制代码


4.直接路由到:闭包函数   【语法:   Route::rule( '路由规则', function(参数){ 闭包函数代码 } ) 】  可以用来网站
重点
    4.1 闭包就是函数中的函数,方法中的方法【啥破壁解释   要不是我懂 我就骂人了 我跟你说】
    4.2 闭包函数可以接受通过路由规则传过来的参数
    4.3 不再执行任何操作,相当于把方法直接定义在参数中
  1. think\Route::get('lmf4',function (){
  2.     return 'laomo   zhen  shuai });
  3. think\Route::get('lmf42/:name',function ($name){
  4.     return 'laomo   zhen  shuai '.$name;
  5. });
复制代码


5.直接路由到:重定向地址   【语法: Route::rule( '路由规则','  重定向地址  ' )  】
重点 老莫觉得把 这就是nodeJs的渲染指定页 ,不过URL地址也会发生变化】
    5.1 重新定向:‘/’或者'http://'开头的外部地址;   【直接说 相对地址 和绝对地址 不就完了嘛 BB半天絮叨啥呢】
    5.2 '/' :是以当前可访问的web目录开始:如'public '
    5.3 外部地址是301跳转,适用于网站迁移
  1. // 站内跳转
  2. think\Route::rule('lmdemo','/demo.php'); // 这个文件用于测试 在根目录下
  3. // 站外跳转
  4. think\Route::rule('lmdemo2','http://www.damichong.top/da/');  //直接跳 老快了
复制代码

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表