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. HDU 4760 Good FireWall 完好Trie题解

    本题乍看像是线段树之类的区间操作,只是由于仅仅是须要查找ip的前缀,故此事实上是使用Trie来做. 挺高难度的Trie应用,做完这道题之后说明Trie功力有一定火候了. 这里的Trie使用到了Dele ...

  2. linux下单独安装oracle12.1客户端

    1.安装oracle-instantclient:(默认安装即可) oracle-instantclient12.1-sqlplus-12.1.0.1.0-1.x86_64.rpmoracle-ins ...

  3. 将samba加入到windows域《转载》

    将samba加入到windows域 那什么是域呢? 一台Windows计算机,它要么隶属于工作组,要么隶属于域.所以说到域,我们就不得不提一下工作组,工作组是MS的概念,一般的普遍称谓是对等网. 工作 ...

  4. linux加入windows域之完美方案(转载)

    概念理解:1.kdc:可信任的密钥分发中心(KDC, Key Distribution Center).2.Winbind是Samba套件的功能之一.它允许Unix系统利用Windows NT的用户帐 ...

  5. (转)SQL中的ISNULL函数介绍

    SQL中有多种多样的函数,下面将为您介绍SQL中的ISNULL函数,包括其语法.注释.返回类型等,供您参考,希望对您学习SQL能够有所帮助. ISNULL 使用指定的替换值替换 NULL. 语法ISN ...

  6. 安卓状态栏通知Status Bar Notification

    安卓系统通知用户三种方式: 1.Toast Notification 2.Dialog Notification 3.Status Bar Notification Status Bar Notifi ...

  7. .net中div置于顶层+iframe

    aspx代码: <td>  <asp:Button ID="BtnDownPPT" runat="server" OnClientClick= ...

  8. 45个非常有用的 Oracle 查询语句小结

    45个非常有用的 Oracle 查询语句小结 这里我们介绍的是 40+ 个非常有用的 Oracle 查询语句,主要涵盖了日期操作,获取服务器信息,获取执行状态,计算数据库大小等等方面的查询.这些是所有 ...

  9. OD调试6—使未注册版软件的功能得以实现

    OD调试6—使未注册版软件的功能得以实现 本节使用的软件下载链接 (想动手试验的朋友可以下载来试试) 继续开始我OD调试教程的学习笔记. 本次试验对真正的程序进行逆向.(之前的都是为破解而专门设计的小 ...

  10. OpenGL ES 2.0 曲面物体的构建

    球体构建的基本原理构建曲面物体最重要的就是找到将曲面恰当拆分成三角形的策略. 最基本的策略是首先按照一定的规则将物体按行和列两个方向进行拆分,这时就可以得到很多的小四边形.然后再将每个小四边形拆分成两 ...