Laravel 4之请求

获取请求数据

获取当前请求所包括的所有GET和POST数据

  1. Route::get('/',function()
  2. {
  3. $data =Input::all();
  4. var_dump($data);
  5. });

输入http://myapp.dev/?foo=bar&baz=boo,得到

  1. array(2){["foo"]=>string(3)"bar"["baz"]=>string(3)"boo"}

获取GET数据

  1. Input::get('foo');

如果请求中没有foo数据,返回NULL,可以指定默认值

  1. Input::get('foo','bar');

判断提交的信息是否存在

  1. Input::has('foo');

存在返回ture,不存在返回false

获取指定的信息

  1. Input::only('foo','baz');

只返回foo,baz的信息

  1. Input::except(array('foo','baz'));

返回除了foo,baz以外的信息

请求数据持久化

通常请求数据只在当前请求中有效,一旦跨请求就会实效,比如

  1. Route::get('/',function()
  2. {
  3. returnRedirect::to('new/request');
  4. });
  5. Route::get('new/request',function()
  6. {
  7. var_dump(Input::all());
  8. });

输入http://myapp.dev/?foo=one&bar=two,返回的是array(0) { }。使用Input::flash()Input::old(),可以将数据存入session

  1. Route::get('/',function()
  2. {
  3. Input::flash();
  4. returnRedirect::to('new/request');
  5. });
  6. Route::get('new/request',function()
  7. {
  8. var_dump(Input::old());
  9. });

Input::get()类似,也可以获取单个数据

  1. Input::old('bar')

只将部分数据存入session

  1. Input::flashOnly('foo');

或是

  1. Input::flashExcept('foo');

以上方法除了接受参数列表,还可以接受数组形式如

  1. Input::old(array('first','second','third'));
  2. Input::flashOnly(array('first','second','third'));
  3. Input::flashExcept(array('first','second','third'));

使用withInput(),效果跟上面一样

  1. Route::get('/',function()
  2. {
  3. returnRedirect::to('new/request')->withInput();
  4. });

或是部分

  1. returnRedirect::to('new/request')->withInput(Input::only('foo'));
  2. returnRedirect::to('new/request')->withInput(Input::except('foo'));

上传文件

上传文件表单

  1. <!-- app/views/form.blade.php -->
  2. <formaction=""
  3. method="POST"
  4. enctype="multipart/form-data">
  5. <inputtype="file"name="book"/>
  6. <inputtype="submit">
  7. </form>

获取上传文件Input::file('book')

  1. Route::get('/',function()
  2. {
  3. returnView::make('form');
  4. });
  5. Route::post('handle-form',function()
  6. {
  7. var_dump(Input::file('book'));
  8. });

Input::file('book')更多的方法

  1. Input::file('book')->getFileName();
  2. Input::file('book')->getClientOriginalName();
  3. Input::file('book')->getClientSize();
  4. Input::file('book')->getMimeType();
  5. Input::file('book')->guessExtension();
  6. Input::file('book')->getRealPath();
  7. Input::file('book')->move('/storage/directory');
  8. Input::file('book')->move('/storage/directory', $name);

更多方法参考Symfony UploadedFile class API

Cookies

设置Cookie

  1. Route::get('/',function()
  2. {
  3. $cookie =Cookie::make('low-carb','almond cookie',30);
  4. returnResponse::make('Nom nom.')->withCookie($cookie);
  5. });

使用Cookie

  1. $cookie =Cookie::get('low-carb');

判断Cookie是否存在

  1. Cookie::has('low-carb');

永远的Cookie

  1. $cookie =Cookie::forever('low-carb','almond cookie');

删除Cookie

  1. Cookie::forget('low-carb');

结束

[转]Laravel 4之请求的更多相关文章

  1. Laravel 5.x 请求的生命周期(附源码)

    Laravel最早接触是刚开始实习的时候,那时通过网上的学习资料很快便上手,开发模块接口.后来没有什么深入和总结,但是当我刚开始学Laravel的时候,我对Laravel最大的认识就是,框架除了路由. ...

  2. Laravel 处理 Options 请求的原理以及批处理方案

    0. 背景 在前后端分离的应用中,需要使用CORS完成跨域访问.在CORS中发送非简单请求时,前端会发一个请求方式为OPTIONS的预请求,前端只有收到服务器对这个OPTIONS请求的正确响应,才会发 ...

  3. Laravel学习:请求到响应的生命周期

    Laravel请求到响应的整个执行过程,主要可以归纳为四个阶段,即程序启动准备阶段.请求实例化阶段.请求处理阶段.响应发送和程序终止阶段. 程序启动准备阶段 服务容器实例化 服务容器的实例化和基本注册 ...

  4. Laravel提交POST请求报错

    提交POST请求出现如下错误: The page has expired due to inactivity Please refresh and try again 这是由于在Laravel框架中有 ...

  5. Laravel 的HTTP请求#

    获取请求# 要通过依赖注入的方式来获取当前HTTP请求的实例,你应该在控制器方法中类型提示Illuminate\Http\Request 传入的请求的实例通过 服务容器自动注入: <?php n ...

  6. laravel判断HTTP请求是否ajax

    if(Request->ajax()){ echo "AJAX"; }else{ echo '普通请求':}

  7. laravel 默认所有请求带session解决办法

    laravel  app/Http/Kernel.php protected $middlewareGroups = [ 'web' => [ \App\Http\Middleware\Encr ...

  8. 使用Laravel提交POST请求出现The page has expired due to inactivity错误

    任何指向 web 中 POST, PUT 或 DELETE 路由的 HTML 表单请求都应该包含一个 CSRF 令牌(CSRF token),否则,这个请求将会被拒绝.

  9. laravel 对于ajax请求返回的数据

    ajax在调试器中的位置  XHR 代表 XMlHTTPREQUET 一般ajax请求php的时候我们需要给返回什么数据呢? 一般我都是直接renturn 数组的 其实也没啥问题 但是还是感觉第三种写 ...

随机推荐

  1. cocos2d-x 3.6版连连看

    写个连连看来讲游戏开发,我认为实例解说效果会好一些. 终端以下cd到源代码文件夹,敲命令: cocos new LLK -p com.goonear.llk -l cpp -d ./Goonear 脚 ...

  2. C++11下的线程池以及灵活的functional + bind + lamda

    利用boost的thread实现一个线程类,维护一个任务队列,以便可以承载非常灵活的调用.这个线程类可以方便的为后面的线程池打好基础.线程池还是动态均衡,没有什么别的.由于minGW 4.7 对 C+ ...

  3. Stm32高级定时器(三)

    Stm32高级定时器(三) 1 互补输出和死区插入 1.1 死区:某个处于相对无效状态的时间或空间 本来OCX信号与OCXREF时序同相同步,OCXN信号与OCXREF时序反相同步.但为了安全考虑,以 ...

  4. 在CentoOS中安装g++ 并连接Oracle数据库

    1.安装运行环境 # yum install gcc-c++ 备注:此时会将gcc-c++和libstdc++-devel都安装上. 2.查看g++是否安装成功[root@MyRHEL 桌面]# g+ ...

  5. keydown和keypress

    常见的键盘事件是keyup和keydown.淡蓝就经常用 document.onkeyup = function (e) { if ((e.keyCode || e.which) === 13) // ...

  6. php 与 jquery中$.post()与attr()方法的简单实例 amaze modal 模态窗口

    $(selector).attr(attribute,value)$.post() 在jqery中有这样一个方法,$.post()下面就这个方法做一个简单的实例: jQuery.post( url, ...

  7. mvc4 基于Area实现插件模块化开发

    对于一个较大规模的Web应用,可以从功能上通过Area将其划分为为较小的单元.每个Area相当于一个独立的子系统,具有一套包含Model.Views和Controller在内 的目录结构和配置文件.一 ...

  8. 开源日志系统 log4c 使用心得+总结

    http://blog.csdn.net/sky_qing/article/details/7208645 一.安装: 我看网上好多人介绍log4c安装的时候都说有两个步骤:先下载expat安装包并安 ...

  9. apache服务器参数设置

    全局参数设置 ServerRoot:服务器根目录 apache安装目录[我的为:/usr/local/apache/] 用于指定apache服务器的配置文件及日志文件存放的根目录.服务器的基础目录,a ...

  10. linux环境c++开发:ubuntu12.04使用llvm3.4.2

    什么是 clang/llvm/libc++[1] clang 是最近几年(在大财主苹果的支持下)发展得非常好的 C 家族语言 (包括C/C++/Obj-C/Obj-C++) 编译器前端,所谓前端,就是 ...