ThinkPHP5.0框架开发--第6章 TP5.0 请求和响应
ThinkPHP5.0框架开发--第6章 TP5.0 请求和响应
第6章 TP5.0 请求和响应
=====================================
上次复习
1、新建控制器
2、如何加载页面
1、系统函数
return view();
2、系统view类
$view=new View();
return $view->fetch();
3、通过Controller类
// 需要控制器继承系统类
return $this->fetch();
3、页面跳转
0、使用
必须继承系统控制器类
1、成功
$this->success();
2、失败
$this->error();
3、重定向
$this->redirect();
4、空控制器和空方法
=====================================
今日学习
1、系统类(C:\AppServ\www\tp5\thinkphp\library\think)
Config
Controller
Env
Route
Url
View
Request
2、系统方法(C:\AppServ\www\tp5\thinkphp\helper.php)
dump(); 格式化输出
controller(); 调用控制器
action(); 调用方法
config(); 读取和设置配置文件
url(); 生成URL地址
view(); 加载页面
request(); 实例化 Request类
3、如何获取请求类
1、系统函数
$request=request();
2、系统Request类
use think\Request;
// 因为Request类属于单例模式 所以 不能直接new
$request=Request::instance();
3、系统Request类
use think\Request;
// 方法的书写
public function index(Request $request)
{
dump($request);
}
4、获取用户请求信息
1、获取域名
dump($request->domain());
2、获取URL地址 除域名以外
dump($request->url());
3、 获取入口文件
dump($request->baseFile());
4、获取PathInfo路径
dump($request->pathinfo());
5、获取PATHINFO路径 无后缀
dump($request->path());
6、url地址伪静态后缀
dump($request->ext());
7、伪静态
就是将路径伪装成静态页面,让搜索引擎更好收录网站,防止别人知道网站真实开发语言
5、获取请求模块\控制器\方法
1、控制器
$request->controller();
2、方法
$request->action();
3、模块
$request->module();
6、获取请求相关类型
1、请求类型
$request->method();
2、请求资源类型
$request->type();
3、访问地址
$request->ip();
4、是否ajax请求
$request->isAjax();
5、获取所有地址栏参数
$request->param();
6、获取特定字段
$request->only(['name','id']);
7、剔除字段
$request->except(['name','id']);
7、获取变量
1、判断是否存在
dump($request->has('id','get'));
dump(input('?get.id'));
2、读取变量
dump($request->get('id'));
dump(input('get.id'));
dump($request->get());
dump(input('get.'));
3、可以读取数据类型
get、post、delete、put、session、cookie、server 等
$request->get();
$request->post();
$request->put();
$request->server();
$request->request();
$request->session();
$request->cookie();
8、变量的过滤
1、作用
防止恶意输入、防止sql注入
2、使用
1、全部的数据进行过滤
// 单个方法过滤
$request->filter("htmlspecialchars");
// 多种方法过滤
$request->filter(["htmlspecialchars","strip_tags"]);
2、针对变量过滤
$request->get('name','','htmlspecialchars');
3、密码过滤之后加密
dump($request->get('pass','','htmlspecialchars,md5'));
9、变量的排除和获取
1、获取
$request->only('name');
$request->only('name',get);
$request->only(['name','pass'],get);
2、排除
$request->except(['name','pass'],get);
$request->except(['name','pass']);
$request->except('name');
10、变量修饰符
1、修饰变量的类型
s 字符串
d 整形
f 浮点型
a 数组
b 布尔型
2、使用
dump(input('get.id/d')); // 强制转换整形
dump($request->get('id/d'));
11、更改变量
// 地址栏访问 http://www.tp.com/index.php/Index/Index/xiugai?id=10
dump($request->get('id')); // 10
dump($request->get(['id'=>20])); //数组
dump($request->get('id')); // 20
12、请求类型判断
1、系统类
// 判断是否是get请求
dump($request->isGet());
// 判断是否是手机端
dump($request->isMobile());
2、系统函数
dump(request()->isGet());
dump(request()->isMobile());
13、模拟put、delete请求
1、使用
<form action="{:url('type')}" method="post">
<p>
User:
<input type="text" name="name" id="">
<input type="hidden" name="_method" value="PUT">
</p>
<p>
Pass:
<input type="password" name="pass" id="">
</p>
<p>
<input type="submit" value="提交">
</p>
</form>
2、注意
1、表单的请求类型必须是post
2、需要设置隐藏域传递模拟请求类型
14、模拟ajax请求和PJAX请求
1、模拟ajax请求
http://www.tp.com/index.php/index/index/type?_ajax=10
2、模拟pjax请求
http://www.tp.com/index.php/index/index/type?_pjax=10
15、伪静态
1、作用
1) URL伪静态通常是为了满足更好的SEO效果
2) 为了网站的安全
2、修改伪静态
在配置文件中进行修改
'url_html_suffix' => 'shtml',
3、获取当前的伪静态后缀
$request->ext();
16、参数绑定
1、使用
public function banding($id,$name="admin"){
dump($id);
dump($name);
}
http://www.tp.com/index.php/index/index/banding/id/1/name/user
2、注意
1、参数绑定的个数,少于地址栏参数的个数
2、参数绑定的名字,必须和地址栏参数名字一一对应
3、参数绑定可以设置默认值
ThinkPHP5.0框架开发--第6章 TP5.0 请求和响应的更多相关文章
- ThinkPHP5.0框架开发--第5章 TP5.0 控制器
ThinkPHP5.0框架开发--第5章 TP5.0 控制器 第5章 TP5.0 控制器 ============================================== 上次复习 1.路 ...
- ThinkPHP5.0框架开发--第4章 TP5.0路由
ThinkPHP5.0框架开发--第4章 TP5.0路由 第4章 TP5.0 路由 ================================================== 上次复习 1. ...
- ThinkPHP5.0框架开发--第3章 TP5.0 配置
ThinkPHP5.0框架开发--第3章 TP5.0 配置 第3章 TP5.0 配置 ========================================================= ...
- ThinkPHP5.0框架开发--第1章 Tp5.0安装
ThinkPHP5.0框架开发--第1章 Tp5.0安装 第1章 Tp5.0 安装 ======================================================== 今 ...
- ThinkPHP5.0框架开发--第2章 TP5.0架构
ThinkPHP5.0框架开发--第2章 TP5.0架构 第2章 TP5.0架构 ================================================== 上次复习 1.如 ...
- ThinkPHP5.0框架开发--第11章 TP5.0 杂项
ThinkPHP5.0框架开发--第11章 TP5.0 杂项 第11章 TP5.0 杂项 =============================================== 今日学习 1. ...
- ThinkPHP5.0框架开发--第10章 TP5.0验证器
ThinkPHP5.0框架开发--第10章 TP5.0验证器 第10章 TP5.0验证器 ======================================= 今日学习 1.验证器 1) 控 ...
- ThinkPHP5.0框架开发--第9章 TP5.0视图和模板
ThinkPHP5.0框架开发--第9章 TP5.0视图和模板 第9章 TP5.0视图和模板 ===================================================== ...
- ThinkPHP5.0框架开发--第8章 TP5.0 模型
ThinkPHP5.0框架开发--第8章 TP5.0 模型 第8章 TP5.0 模型 ================================================= 今日学习 1. ...
- ThinkPHP5.0框架开发--第7章 TP5.0数据库操作
ThinkPHP5.0框架开发--第7章 TP5.0数据库操作 第7章 TP5.0数据库操作 ===================================================== ...
随机推荐
- Drupal 自己定义主题实体 Theming Custom Entities
在自己定义主题中输出结果时,有三个部分或很多其它特殊的函数.如 hook_menu,Page Callback.MODULE_theme 钩子 1.hook_menu 为了使用自己定义的实体.像创建. ...
- 杂项:ExtJS
ylbtech-杂项:ExtJS extjs是一种软件.自动生成行号,支持checkbox全选,动态选择显示哪些列,支持本地以及远程分页,可以对单元格按照自己的想法进行渲染,这些也算可以想到的功能. ...
- 关于PHP函数
从这里我开始聊一些php相关的东西了,因为视频教程里并没有讲到过多的JS,JQ,XML和AJAX,这些在后续自学之后再写一些: 有关php的基本语法数据类型什么的就不做介绍了,在PHP手册或各大学习网 ...
- MySQL 5.6.26 误删ibdata恢复
[root@hank-yoon ~]# ps -ef | grep mysqlroot 1129 1 0 15:30 pts/0 00:00:00 /bin/sh /export/servers/my ...
- 安装django和selenium
安装很简单(前提是python已经安装),命令窗口直接输入pip install django,回车就会自动进行安装,selenium也是一样pip install selenium 启动django ...
- Pyhton学习——Day11
# Python中的内部模块# 函数学习的意义:抽取重复代码# 模块:不用重复写,模块及py文件,提高了代码的可维护性,其次,编写代码不必从零开始,当一个模块编写完毕,不必再重复编写# import ...
- nefu 84 ( 拓展欧几里德模板题 )
链接:传送门 思路:拓展欧几里德模板题,设大圣至少翻转 t 次,大圣起始位置为 x ,大圣目标位置为 y + n * s ( 大圣到达目标位置 y 可能需要多圈,所以用 s 来表示圈数 ),因为只能逆 ...
- [luogu2592 ZJOI2008] 生日聚会 (计数dp)
题目描述 今天是hidadz小朋友的生日,她邀请了许多朋友来参加她的生日party. hidadz带着朋友们来到花园中,打算坐成一排玩游戏.为了游戏不至于无聊,就座的方案应满足如下条件: 对于任意连续 ...
- [LUOGU]3919 【模板】可持久化数组
用可持久化线段树维护可持久化数组.可持久化线段树见之前发的主席树模板 #include <iostream> #include <cstdio> #include <cs ...
- libvirtd.service
[root@kvm-server ~]# systemctl status libvirtd.service ● libvirtd.service - Virtualization daemon Lo ...