Laravel 5.4 官方文档摘记:请求实例
来源:互联网 发布:抗风柱设计软件 编辑:程序博客网 时间:2024/06/07 01:56
请求
请求实例
比如一个用户发送一个如下的请求:
Route::patch('user/','UserController@update');
那么在控制器中如何获取用户的输入呢?就可以结合上一篇博客中的方法参数设置,将请求实例传入方法中。请求实例的传入方式如下:
<?phpnamespace App\Http\Controllers;//这个就是请求实例use Illuminate\Http\Request;class UserController extends Controller{ /** * 这里将请求实例传递进入函数 * @param Request $request * @return Response */ public function store(Request $request) { //假设提交过来的表单中有一个name字段,这样就可以获取该字段了 $name=$request->name; }}
当然,不止可以在控制器中实例化请求类,在路由中也可以实例化请求类,但是如何设置该请求类的命名空间,那就再说了。
Route::get('user/{id}',function(Request $request){ $id=$request->id;});
实例中方法介绍
下面假设请求的URL完整地址是:
http://www.lucifer.morning.star.com.cn/users/id/1/name/angle
路由设置为:
Route::get(‘users/id{id}/.name/{name}’,’UserController@show’)
path()
调用方式是:$request->path()
输出结果是:users/id/1/name/angle
is()
调用方式:$request->is('users/*')
输出结果:true/false
url()
调用方式:$request->url()
输出结果:users
fullUrl()
调用方式:$request->fullUrl()
输出结果:users/id/1/name/angle
method()
调用方式:request->method()
输出结果:show()
isMethod()
调用方式:$request->idMethod('show')
输出结果:true/false
all()
调用方式:$request->all()
输出结果:获取请求全部信息
input(‘key’[,’default value’])
调用方式:$request->input('name','default value')
输出结果:当name字段存在时,输出name的原始值,当name字段不存在时,输出该函数的第二个参数default value
另外在.
表示数组,下面假设传递过来的表单内容如下:
$form=[ 'name'=>['John','Mike','Kitty']];
那么获取name数组下的第二个参数可以使用下面的形式:
//注意,数组的下标是0开始的$name=$request->input("name.1");
当你访问的是JSON格式的数据的时候,你可以这样读取其中的值:
$name=$request->input('name.firstName');
only()
调用方式:$request->only(['fieldName1','fieldName2']
输出结果:字段fieldName1
和fieldName2
字段的值
expect()
跟only
很像
intersect()
调用方式:$request->intersect(['fieldName1','fieldName2'])
输出结果:这两个字段存在时,才会进行读取
has()
调用方式:$request->has('name')
输出结果:true/false
flash()
调用方式:$request->flash()
输出结果:就是将该$request
缓存起来,但是该缓存仅有一次有效
old()
调用方式:$request->old()
输出结果:获取上一次$request
实例
cookie()
调用方式:$request->cookie('name')
输出结果:设置cookie
file()
调用方式:$request->file('fileName')
输出结果:Illuminate\Http\UploadedFile
类的一个实例
跟这个配套使用的还有另一个方式:isValid()
//判断该文件是否正确上传到服务器了$request->file('fileName')->isValid()
hasFile()
调用方式:$request->hasFile('fileName')
输出结果:判断该文件是否存在,可以和上面的isValid
配套使用
extension()
调用方式:$request->fileName->extension()
输出结果:获取上传文件的扩展名
store()
使用该方法可以将文件保存,注意!!!这里的fileName2
是文件的完整名称路径。
调用方式:$request->fileName->store('fileName2'[,'Disk_Name'])
输出结果:保存文件的路径
storeAs()
调用方式:$request->fileName->saveAs('fileName2','fileSaveName'[,'Disk_Name'])
输出结果:就是可以指定保存文件的文件名,否则会像使用store
时一样,保存的文件名是随机生成的
重定向时同时传递请求实例
//直接调用withInput()函数将请求实例作为参数一同传递过去return redirect()->withInput();//删除其中的某些字段return redirect()->withInput($request->expect('password'));
- Laravel 5.4 官方文档摘记:请求实例
- Laravel 5.4 官方文档摘记:路由
- Laravel 5.4 官方文档摘记:中间件
- Laravel 5.4 官方文档摘记:CSRF保护
- Laravel 5.4 官方文档摘记:控制器
- Laravel 5.4 官方文档摘记:响应
- Laravel 5.4 官方文档摘记:View类
- Laravel 5.4 官方文档摘记:验证
- Laravel 5.4 官方文档摘记:视图
- Laravel 5.4 官方文档摘记:Eloquent ORM
- Laravel 5.4 官方文档摘记:Laravel操作数据库
- Vue.js 官方文档摘记:Vue 实例
- Vue.js官方文档摘记
- Vue.js 官方文档摘记:模板语法
- Vue.js 官方文档摘记 计算属性
- React.js 官方文档摘记:表单
- Laravel 5.4 官网资料摘记:Session
- Vue.js 官方文档摘记 class和style绑定
- @property相关的问题
- Dialog风格的Activity
- robotframework获取数据库返回值“Expression must be a string ,not long”
- Java连接WebServce
- ssh 用法
- Laravel 5.4 官方文档摘记:请求实例
- 机器学习与深度学习(一) 决策树算法 (Decision Tree)
- 动态链接库导出模板类以及一些问题
- 具有P2P及防盗链功能的OTT/IPTV互联网解决方案
- 55 Jump Game
- 将github上的项目整合到jitpack
- 解决Xcode编译错误:does not contain bitcode
- 爬虫新的方法----中级
- iOS runtime实用篇