搜索
博主信息
博文 4
粉丝 0
评论 1
访问量 6910
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
ThinkPHP5.1新手笔记(二):【基础知识】请求和响应
一嗔
原创
591人浏览过

        1、tp有4、5种方法获取Request对象。个人只喜欢facade模式,Request::param( )。


        2、获取输入变量:param是tp推荐的获取输入变量的方法,统一了get、post等各种请求方法,能应付绝大多数情况,特殊情况再说。获取输入变量的时候,可以支持默认值,例如当URL中不包含 $_GET['name'] 的时候,使用下面的方式输出Request::get('name','default'); // 返回值为default。Request::has('id','get')可以判断是否设置了id值,自己一般用助手函数input('?get.id')。只获取当前请求的id和name变量Request::only('id,name')。变量修饰符Request::get('id/d')可以强制转换类型。


        3、获取固定信息:除了param用来获取输入变量,还有一些方法用于获取请求固定信息,如host、domain、url、root、path等。


        4、获取请求类型:isAjax。在很多情况下面,我们需要判断当前操作的请求类型是 GET 、 POST 、 PUT 、 DELETE 或者 HEAD,一方面可以针对请求类型作出不同的逻辑处理,另外一方面有些情况下面需要验证安全性,过滤不安全的请求。tp5.1提示:没有必要在控制器中判断请求类型再来执行不同的逻辑,完全可以在路由中进行设置。


        5、伪静态。URL伪静态通常是为了满足更好的SEO效果,ThinkPHP支持伪静态URL设置,可以通过设置url_html_suffix 参数随意在URL的最后增加你想要的静态后缀(这就算设置了伪静态,如果设个false,就是关闭了伪静态),而不会影响当前操作的正常执行。例如,设置'url_html_suffix' => 'shtml'的话(默认是html),我们可以把下面的URLhttp://serverName/Home/Blog/read/id/1变成http://serverName/Home/Blog/read/id/1.shtml,后者更具有静态页面的URL特征,但是具有和前面的URL相同的执行效果,并且不会影响原来参数的使用。url方法可以获取当前访问路径的伪静态URL。


        6、响应( Response )对象用于动态响应客户端请求,控制发送给用户的信息。通常用于输出数据给客户端或者浏览器。ThinkPHP5.1 的Response 响应对象由 think\Response 类或者子类完成,ThinkPHP的响应输出是自动的(命令行模式除外),最终会调用 Response 对象的 send 方法完成输出。大多数情况,我们不需要关注 Response 对象本身,只需要在控制器的操作方法中返回数据即可。之前一直在用的return,json,view,这些的背后是Response对象,但普通输出不需要管这个对象。当想给出一些状态码或者其它信息时,就需要return response($data,201)。


        7、重定向。return redirect('index/Index/index') 。


        8、文件下载。本质上是有个类来完成文件下载的,但从tp6开始已经全部用助手函数了,所以这里也选择用助手函数。return download($data,'test.txt',true),参数说明:准备下载的文件,准备保存的名字,直接下载。支持图片下载和文本下载。


本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学