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 请求和响应的更多相关文章

  1. ThinkPHP5.0框架开发--第5章 TP5.0 控制器

    ThinkPHP5.0框架开发--第5章 TP5.0 控制器 第5章 TP5.0 控制器 ============================================== 上次复习 1.路 ...

  2. ThinkPHP5.0框架开发--第4章 TP5.0路由

    ThinkPHP5.0框架开发--第4章 TP5.0路由 第4章 TP5.0 路由 ================================================== 上次复习 1. ...

  3. ThinkPHP5.0框架开发--第3章 TP5.0 配置

    ThinkPHP5.0框架开发--第3章 TP5.0 配置 第3章 TP5.0 配置 ========================================================= ...

  4. ThinkPHP5.0框架开发--第1章 Tp5.0安装

    ThinkPHP5.0框架开发--第1章 Tp5.0安装 第1章 Tp5.0 安装 ======================================================== 今 ...

  5. ThinkPHP5.0框架开发--第2章 TP5.0架构

    ThinkPHP5.0框架开发--第2章 TP5.0架构 第2章 TP5.0架构 ================================================== 上次复习 1.如 ...

  6. ThinkPHP5.0框架开发--第11章 TP5.0 杂项

    ThinkPHP5.0框架开发--第11章 TP5.0 杂项 第11章 TP5.0 杂项 =============================================== 今日学习 1. ...

  7. ThinkPHP5.0框架开发--第10章 TP5.0验证器

    ThinkPHP5.0框架开发--第10章 TP5.0验证器 第10章 TP5.0验证器 ======================================= 今日学习 1.验证器 1) 控 ...

  8. ThinkPHP5.0框架开发--第9章 TP5.0视图和模板

    ThinkPHP5.0框架开发--第9章 TP5.0视图和模板 第9章 TP5.0视图和模板 ===================================================== ...

  9. ThinkPHP5.0框架开发--第8章 TP5.0 模型

    ThinkPHP5.0框架开发--第8章 TP5.0 模型 第8章 TP5.0 模型 ================================================= 今日学习 1. ...

  10. ThinkPHP5.0框架开发--第7章 TP5.0数据库操作

    ThinkPHP5.0框架开发--第7章 TP5.0数据库操作 第7章 TP5.0数据库操作 ===================================================== ...

随机推荐

  1. Create a Visual C++ Wizard for Visual Studio 2005

    from:http://www.codeguru.com/cpp/v-s/devstudio_macros/customappwizards/article.php/c12775/Create-a-V ...

  2. oracle性能检测sql语句

    1. 监控事例的等待 select event,sum(decode(wait_Time,0,0,1)) "Prev",sum(decode(wait_Time,0,1,0)) & ...

  3. Oracle 查看锁定表用户的SQL

    #描述:当执行如下SQL select * From XXX for Updata 发现表“XXX”被锁定 #只需要执行如下SQL 查看锁定该表的用户 SELECT object_name, mach ...

  4. c++面向对象程序设计 谭浩强 第一章答案

    c++面向对象程序设计 谭浩强 答案 第一章 目录: c++面向对象程序设计 谭浩强 答案 第一章 c++面向对象程序设计 谭浩强 答案 第二章 c++面向对象程序设计 谭浩强 答案 第三章 c++面 ...

  5. Excel—— [导入到数据库] or 将数据 [导入到Excel]

    将Excel导入到数据库实现如下: 前台代码: @model IEnumerable<Model.Student> @{ Layout = null; } <!DOCTYPE htm ...

  6. Swagger 隐藏具体API

    一.why 在swagger ui界面中有时候不想显示某些api,通过下面的方式可以实现. 1.1.新建一个类实现IDocumentFilter接口 using Swashbuckle.Swagger ...

  7. 洛谷P4012 深海机器人问题(费用流)

    题目描述 深海资源考察探险队的潜艇将到达深海的海底进行科学考察. 潜艇内有多个深海机器人.潜艇到达深海海底后,深海机器人将离开潜艇向预定目标移动. 深海机器人在移动中还必须沿途采集海底生物标本.沿途生 ...

  8. Linux常见后缀缩写含义

    ctl: control rc: run control (A run-control file is a file of declarations or commands associated wi ...

  9. innobackupex: Error: --decompress requires qpress

    数据库版本:5.6.16​系统版本:cenos 6.5​​通过percona-xtranbackup恢复数据库报错(软件版本:percona-xtrabackup-2.1.9-744.rhel6.x8 ...

  10. C IO programming test code

    #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl ...