08. Laravel 4 用户请求中的数据
2013-12-21 11:34
447 查看
当前请求数据
获取用户提交的所有数据
$data = Input::all();
**注意:**这里获取到的数据包含 GET 和 POST 提交的所有数据,并且 GET 的优先级更高。
所以类似下面的提交将会得到这样的数据
array(2) { ["foo"]=> string(3) "get" ["baz"]=> string(3) "get" }。
<!-- app/views/form.blade.php --> <form action="{{ url('/') }}?foo=get&baz=get" method="POST"> <input type="hidden" name="foo" value="bar" /> <input type="hidden" name="baz" value="boo" /> <input type="submit" value="Send" /> </form>
获取指定数据
$data = Input::get('foo');
用户若未传递
foo参数,则默认为
NULL,此时可以为其设定默认值:
$data = Input::get('foo', 'defaultValue');
判断请求中是否包含某一参数
$result = Input::has('foo');
获取请求中的部分数据
以下方法皆可$result = Input::only('foo', 'baz');
$result = Input::only(array('foo', 'baz'));
当然还有排除法:
以下方法皆可
$result = Input::except('foo', 'baz');
$result = Input::except(array('foo', 'baz'));
之前请求的数据(旧数据)
闪存所有旧数据
在上一个请求 结束前 将用户数据闪存:Input::flash();
闪存部分旧数据
Input::flashOnly('foo'); Input::flashOnly('first', 'second', 'third'); Input::flashOnly(array('first', 'second', 'third'));
当然,还有排除法:
Input::flashExcept('foo'); Input::flashExcept('first', 'second', 'third'); Input::flashExcept(array('first', 'second', 'third'));
旧数据的获取方法
在接下来的请求中,可以通过以下方法取出闪存的数据:Input::old(); Input::old('first', 'second', 'third'); Input::old(array('first', 'second', 'third'));
请求重定向时的快捷闪存
// app/routes.php Route::get('/', function() { return Redirect::to('new/request')->withInput(); });
以上操作相当于:
// app/routes.php
Route::get('/', function()
{
Input::flash();return Redirect::to('new/request');
});
其它可用的快捷闪存方法:
return Redirect::to('new/request')->withInput(Input::only('foo')); return Redirect::to('new/request')->withInput(Input::except('foo'));
用户上传的文件
获取文件对象
var_dump(Input::file('book'));
该文件对象支持调用的方法
Input::file('book')->getFileName(); // 缓存文件名 Input::file('book')->getClientOriginalName(); // 客户端文件名 Input::file('book')->getClientSize(); // 文件大小 Input::file('book')->getMimeType(); // 文件类型 Input::file('book')->guessExtension(); // 后缀名 Input::file('book')->getRealPath(); // 真实缓存文件路径 Input::file('book')->move('/storage/directory'); // 移动文件到指定文件夹 Input::file('book')->copy('/storage/directory'); // 复制文件到指定文件夹 Input::file('book')->rename('newName.pdf'); // 重命名
实际用例:
Route::post('handle-form', function() { $name = Input::file('book')->getClientOriginalName(); Input::file('book')->move('/storage/directory', $name); return 'File was moved.'; });
Cookies
设置 和 获取 Cookies
// app/routes.php Route::get('/', function() { $cookie = Cookie::make('low-carb', 'almond cookie', 30); return Response::make('Nom nom.')->withCookie($cookie); }); Route::get('/nom-nom', function() { $cookie = Cookie::get('low-carb', 'defaultValue'); var_dump($cookie); });
判断指定 Cookies 是否存在
var_dump(Cookie::has('low-carb'));
设置长效 Cookies
// app/routes.php Route::get('/', function() { $cookie = Cookie::forever('low-carb', 'almond cookie'); return Response::make('Nom nom.')->withCookie($cookie); });
删除指定 Cookies
Cookie::forget('low-carb');
相关文章推荐
- 解决后台正在数据请求时候,用户对界面操作引起的错误-加遮罩
- Retrofit+RxJava+OkHttp封装类请求接口数据→原生登录,注册,个人信息页+设置用户头像(图片上传或拍照)+SharedPreferences保存信息+Fresco加载图片+Mvp分层
- Retrofit+RxJava+OkHttp封装类请求接口数据→原生登录,注册,个人信息页+设置用户头像(图片上传或拍照)+SharedPreferences保存信息+Fresco加载图片+Mvp分层
- Base-Jsp-5-在页面、请求和用户之间共享数据
- jquery ajax请求方式与提示用户正在处理请稍等,等待数据返回时loading的显示
- 发送请求的时候有哪些方式防止用户篡改数据?
- Atitit 高性能架构之道 attilax著 艾龙 著 1. 应用服务与数据隔离 2 2. 负载均衡你问题 2 2.1. 用户的请求由谁来转发到到具体的应用服务器 2 2.2. 有什么转发的算法
- 请求封装器、过滤器解决对用户提交数据中html标签的解析
- Android中用网络请求数据方法,判断用户注册并跳转
- Laravel 4 用户请求中的数据
- Django 1.11 前端数据异步加载(前端页面单独请求用户登录状态)
- jQuery 中的 Ajax 全局事件 当用户点击页面上某一按钮请求数据时,在页面上显示 loading... ,页面加载完成后隐藏
- struts1自动封装用户的请求数据
- 交用户的隐私数据一定要使用POST请求
- 03-SpringMVC-获得用户请求数据
- iOS网络编程-ASIHTTPRequest小例子-数据请求队列
- vue如何从接口请求数据
- Jquery 加载数据及请求数据方式
- oracle创建用户、表空间、导入数据
- ORA-01013:用户请求取消当前的操作