回忆上节知识点
thinkphp官方文档解释
Rest控制器:主要是对资源进行控制,在thinkphp6.0开始废弃,推荐使用资源控制器
Rest控制器使用符合RESTFul
风格,RESTFul
方法和标准模式的操作方法定义主要区别在于,需要对请求类型和资源类型进行判断,大多数情况下,通过路由定义可以把操作方法绑定到某个请求类型和资源类型。
请求信息:其中尤为重要的
$request = Request::instance();
//获取当前域名
echo "domain:".$request->domain()."<br>";
输入变量:
概述
可以通过Request
对象完成全局输入变量的检测、获取和安全过滤,支持包括$_GET
、$_POST
、$_REQUEST
、$_SERVER
、$_SESSION
、$_COOKIE
、$_ENV
等系统变量,以及文件上传信息。
其中$_REQUEST是$_GET和$_POST的结合体
可使用has方法检测变量是否设置(推荐使用助手函数)
//has():检测变量是否设置
$request = Request::instance();
echo "变量是否设置:".$request->has("id",'get');
input('?get.id');//input()助手函数
变量获取:
input('get.'):其中get.代表的意思是获取当前get请求的所有变量
更改变量(不常用)
通常不会对已设置的变量进行更改,可直接设置变量为你想要的变量值
请求类型
//请求类型
// 是否为 GET 请求
if (Request::instance()->isGet()) echo "当前为 GET 请求";
// 是否为 Ajax 请求
if (Request::instance()->isAjax()) echo "当前为 Ajax 请求";
// 是否为 cgi
if (Request::instance()->isCgi()) echo "当前为 cgi"; //cgi代表浏览器访问
// 是否为 cli
if (Request::instance()->isCli()) echo "当前为 cli"; //cli代表在命令行窗口下进行访问
// 是否为手机访问
if (Request::instance()->isMobile()) echo "当前为手机访问";
请求伪装(很少使用)
支持请求类型伪装,可以在POST
表单里面提交_method
变量,传入需要伪装的请求类型,例
<form method="post" action="">
<input type="text" name="name" value="Hello">
<input type="hidden" name="_method" value="PUT"> //hidden表示隐藏域,是不会显示dom结构中,默认自动提交
<input type="submit" value="提交">
</form>
HTTP头信息
访问网站,请求头中含有的信息
伪静态:
当前处于动态网页发展时代,使用伪静态将动态网页伪装成静态网页,方便爬虫在爬取时进行爬取,以用来提高搜索的高匹配度
方法注入,属性注入,参数绑定在后续开发中很少使用
依赖注入
依赖注入,你可以分开理解。拆成,依赖和注入依赖:当前你需要调用request对象的get方法,所以你必须要先能得到request对象,然后才能使用这个方法。这个就是依赖。注入:怎么得到request对象呢?一种是你直接$request=new Request()可以得到,这种也称为主动获取,还有一种就是把整个对象当做一个参数传进来,类型你这样的写法,然后去使用。