ThinkPHP5.1 关于路由相关笔记

路由:在route目录下的route.php文件定义路由规则,也可以在route目录下自定义路由文件,都会进行路由解析,路由定义:Route::rule('路由表达式','路由地址','请求方式'),或者Route::get('路由表达式','路由地址');Route::post('路由表达式','路由地址');

路由地址:

(1)[模块/控制器]/操作:index/index/hello, 该方式是从操作开始解析,再解析控制器,最后解析模块

(2)路由到操作方法: @index/index/hello, 该方式直接执行某个控制器类的方法,而不需要去解析 模块/控制器/操作这些,同时也不会去初始化模块(因此不会调用模块的初始化方法),通常这种方式下面,由于没有定义当前模块名、当前控制器名和当前方法名 ,从而导致视图的默认模板规则失效,所以这种情况下面,如果使用了视图模板渲染,则必须传入明确的参数而不是留空。 

(3) 路由到类的方法: 路由地址的格式为(动态方法):\类的命名空间\类名@方法名   或者(静态方法)\类的命名空间\类名::方法名;

\app\index\controller\index@hello 或者 \app\index\controller\index::hello

(4)重定向:重定向的外部地址必须以“/”或者http开头的地址。默认是301永久重定向

(5)路由到模板:Route::view('路由表达式','路由地址'); 路由地址:index@hello ,表示index模块下view目录下的hello.html文件.

(6)闭包:function(){return 'hello, world';}

 

路由缓存:在应用配置app.php文件中开启route_check_cache = true,在调试模式下路由缓存没有作用,且使用闭包路由地址的,也不会使用路由缓存.开启后,会自动对每次的路由请求的调度进行缓存,第二次如果是相同的请求则无需再次经过路由解析,而是直接进行请求调度。路由缓存生成在runtime目录下的cache子目录里,使用命令行代码可以删除路由缓存: php  think clear --route.

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值