Config
Controller
Env
Route
Url
View
Request
$request=request();
use think\Request;
//因为Request=Request类属于单例模式,所以不能直接new
$request=Request::instance();
dump($request);
use think\Request;
function index(Request $request)
{
dump($request);
}
// 获取url请求
public function getUrl(Request $request){
// 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());
}
伪静态就是将路径伪装成静态页面,让搜索引擎更好收录网站,方式别人知道网站真实开发语言
// 当前控制器
dump($request->controller());
// 当前方法
dump($request->action());
// 当前模块
dump($request->module());
$request->mothod();
$request->type();
$request->ip();
$request->isAjax();
$request->param();
$request->only(['name','age']);
$request->except(['name','age']);
// 判断get类型中id是否存在,存在返回true
dump($request->has('id','get'));
dump(input('?get.id'));
// 读取参数
dump($request->get('id'));
dump(input('get.id'));
// 读取所有参数
dump($request->get());
dump(input('get.'));
get,post,delete,put,seeion,cookie,server,env,file等
$request->get();
$request->post();
$request->put();
$request->delete();
$request->request();
$request->session();
$request->cookie();
防止恶意输入、防止sql注入
1.全部数据进行过滤
// 过滤一次
// $request->filter('htmlspecialchars');
// $request->filter('strip_tags');
// 多重方法过滤
$request->filter(['htmlspecialchars','strip_tags']);
2.针对变量过滤
// 设置单个变量过滤
$request->get('name','','htmlspecialchars');
3.密码过滤之后加密
$request->get('name','','htmlspecialchars,md5');
$request->only('name');
$request->only('name','get');
$request->only(['name','pass'],'get');
$request->except(['name','pass'],get);
$request->except(['name','pass']);
$request->except('name');
s 字符串
d 整型
b 布尔
a 数组
f 浮点型
dump(input('get.id/d'));/制转换整型
dump(input('get.name/s'));/制转换成字符串
dump($request->get('id/d'));
//地址栏访问http://www.tp.com/index/index/xiugai?id=5
// 修改变量
public function xiugai(Request $request){
dump($request->get('id')); //5
dump($request->get(['id'=>20])); //数组
dump($request->get('id')); //20
}
dump($request->isGet());
dump($request->isPost());
dump($request->isMobile());
dump(request()->isGet());
dump(request()->isPost());
dump(request()->isMobile());
<form action="{:url('leixing')}" method="post">
<p>
User:<input type="text" name="name">
<input type="hidden" name="_method" value="put">
p>
<p>Pass:<input type="password" name="pass">p>
<p><input type="submit" value="提交">p>
form>
1.表单类型必需是post
2.需要设置隐藏域传递模拟的请求类型
http://www.tp.com/index/index/leixing.html?_ajax=10
http://www.tp.com/index/index/leixing.html?_pjax=10
在配置文件中进行修改
// URL伪静态后缀
'url_html_suffix' => 'html',
$request->ext();
// 参数绑定
public function bangding($id,$names){
var_dump($id);
var_dump($names);
}
//http://www.tp.com/index/index/bangding?id=1&names=ttt
//http://www.tp.com/index/index/bangding/id/1/names/ttt
1.参数绑定的格式,少于地址栏参数的个数
2.参数绑定的名字,必须和地址栏参数名字一一对应
3.参数绑定可以设置默认值