这篇主要说说Request 每当用户访问我们的网站功能时都会用到它 我们可以使用Request中的一些数据来做出适当的相应。
1 常用的属性和方法
我们可以从Request中取到一些重要属性来做一些逻辑处理,下面是Request中常用的属性:
1.1 获取用户输入
(前提工作 创建一个RESTful风格的控制器 并声明路由),Request可以获取到用户输入的数据 我们来看看
1.1.1 input
public function index(Request $request) { // 首先我们将Request依赖注入到index方法。 // 获取用户输入的name参数。 dd($request->input('name')); }
这样 在浏览器输入 localhost/admin?name=k 就会打印出K了。
如果防止取不到name参数 我们可以给input方法传入第二个参数 代表取不到name参数就用第二个参数的值。
1.1.2 all()获取全部
public function index(Request $request) { dd($request->all()); }
all方法会返回一个一个数组 在这个数组中可以获得所有用户输入数据。
1.1.3 only和except
public function index(Request $request) { dd($request->only('name')); }
public function index(Request $request) { dd($request->except('name')); }
only代表只获取某些参数,except代表不获取某些参数而获取其他参数。
1.1.4 has方法
public function index(Request $request) { dd($request->has('age')); }
has方法是返回一个bool值的 当参数存在时返回true 不存在返回false。
1.2 获取URL
dd($request->url());
返回的URL是不带GET参数的 即:localhost8000/admin?name=k 返回 localhost8000/admin
dd($request->fullUrl());
fullUrl是返回全部的地址的 即:即:localhost8000/admin?name=k 返回 localhost8000/admin?name=k
1.3 获取请求方法
public function index(Request $request) { if ($request->method() == 'GET'){ return 'GET方法'; } return 'other'; }
这个没什么好说的 是GET就GET 是POST就POST
1.4 判断路径
if ($request->is('admin/*')){ return '后台'; }
主要判断url路径 *可以作为通配符使用。
1.5 获取URI
dd($request->path());
输入:http://localhost:8000/admin?name=adle&age=14 获取 admin