跟我学Laravel之请求与输入

 更新时间:2014年10月15日 10:35:09   投稿:hebedich  
本文主要讲解了Laravel框架中请求与输入的概念以及示例,非常的简单实用,需要的朋友可以参考下

基本输入

Laravel使用一种简单的方式来访问用户提交的信息。 你可以用统一的方式来访问用户提交的信息,而不用为用户提交信息的方式操心。

获取一个用户提交的值

复制代码 代码如下:

$name = Input::get('name');

为用户提交信息指定一个的默认返回值(如果用户未提交)

复制代码 代码如下:

$name = Input::get('name', 'Sally');

判断指定的提交信息是否存在

复制代码 代码如下:

if (Input::has('name'))
{
    //
}

获取所有用户提交的信息

复制代码 代码如下:

$input = Input::all();

获取指定的信息,或者获取排除指定几个提交项之外的所有提交信息

复制代码 代码如下:

$input = Input::only('username', 'password');

$input = Input::except('credit_card');

如果提交的表单含有 "数组" 形式的输入,可以使用点符号访问数组:

复制代码 代码如下:

$input = Input::get('products.0.name');

注意: 有一些javascript库,比如 Backbone 会以json格式提交信息。 通过 Input::get 来获取信息,使用上无差别。

Cookies

Laravel会加密所有已创建的cookie信息,并附加上授权码,当客户端擅自修改cookie信息时,该cookie将被废弃,从而保证安全性。

获取一个指定的cookie值

复制代码 代码如下:

$value = Cookie::get('name');

添加一个新的cookie键值对

复制代码 代码如下:

$response = Response::make('Hello World');

$response->withCookie(Cookie::make('name', 'value', $minutes));

加入下一个Response的Cookie队列之中

如果想在Response创建之前设置cookie,可以使用 Cookie::queue() 方法。cookie将通过应用框架自动添加到最终的Response之中。

复制代码 代码如下:

Cookie::queue($name, $value, $minutes);

创建一个永不过期的cookie键值对

复制代码 代码如下:

$cookie = Cookie::forever('name', 'value');

用户提交信息持久化

有时可能需要在用户的多个请求之间持久化用户提交的信息。 比如,当用户提交的信息验证失败重新返回提交信息页面时还原用户的输入。

将用户提交的信息存入Session

复制代码 代码如下:

Input::flash();

把指定的用户提交的信息存入Session

复制代码 代码如下:

Input::flashOnly('username', 'email');

Input::flashExcept('password');


如果你需要关联持久用户提交的信息的操作和重定向操作,可以使用如下的链式调用的方法:

复制代码 代码如下:

return Redirect::to('form')->withInput();

return Redirect::to('form')->withInput(Input::except('password'));

注意: 如果你想持久化其它的信息,请参考 Session 类.
获取已持久化的用户提交的信息

复制代码 代码如下:

Input::old('username');

文件上传

获取用户上传的文件

复制代码 代码如下:

$file = Input::file('photo');

判断指定文件是否已经被上传

复制代码 代码如下:

if (Input::hasFile('photo'))
{
    //
}

file 方法返回了一个 Symfony\Component\HttpFoundation\File\UploadedFile 类的实例, 该类继承自PHP的 SplFileInfo 类,并提供了大量操作该用户上传的文件的方法。

移动一个已上传的文件

复制代码 代码如下:

Input::file('photo')->move($destinationPath);

Input::file('photo')->move($destinationPath, $fileName);

获取一个已上传的文件在服务器的真实路径

复制代码 代码如下:

$path = Input::file('photo')->getRealPath();

获取一个已上传的文件的大小

复制代码 代码如下:

$size = Input::file('photo')->getSize();

获取一个已上传的文件的 MIME 类型

复制代码 代码如下:

$mime = Input::file('photo')->getMimeType();

用户请求的详细信息

Request 类提供了许多 方法 用于获取关于请求的详细信息,该类继承自 Symfony\Component\HttpFoundation\Request 类。 下面提供了几个具有代表性的方法:

获取请求URI

$uri = Request::path();
判断请求路径是否符合指定模式

复制代码 代码如下:

if (Request::is('admin/*'))
{
    //
}

获取请求URL

$url = Request::url();
获取请求URI信息

$segment = Request::segment(1);
获取请求头里的Content-Type信息

$value = Request::header('Content-Type');
获取 $_SERVER 数组里指定的值

$value = Request::server('PATH_INFO');
判断是否是使用ajax请求

复制代码 代码如下:

if (Request::ajax())
{
    //
}

判断请求是否使用https连接

复制代码 代码如下:

if (Request::secure())
{
    //
}

检测请求的响应格式

Request::format 方法基于 HTTP 请求头的 Accept 信息返回客户端希望获取的响应格式:

复制代码 代码如下:

if (Request::format() == 'json')
{
    //
}

相关文章

  • PHP实现赛邮SUBMAIL简单易用短信通知实例

    PHP实现赛邮SUBMAIL简单易用短信通知实例

    这篇文章主要介绍了使用PHP实现赛邮SUBMAIL的简单易用短信通知实例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • ajax+php控制所有后台函数调用

    ajax+php控制所有后台函数调用

    这篇文章主要介绍了ajax+php控制所有后台函数调用的相关资料,需要的朋友可以参考下
    2015-07-07
  • Laravel validate error处理,ajax,json示例

    Laravel validate error处理,ajax,json示例

    今天小编就为大家分享一篇Laravel validate error处理,ajax,json示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • laravel validate 设置为中文的例子(验证提示为中文)

    laravel validate 设置为中文的例子(验证提示为中文)

    今天小编就为大家分享一篇laravel validate 设置为中文的例子(验证提示为中文),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09
  • PHP中如何使用session实现保存用户登录信息

    PHP中如何使用session实现保存用户登录信息

    这篇文章主要给大家介绍在php中是如何使用session实现保存用户登录信息的,涉及到php session 用户登录等一些知识点,使用session保存用户登录信息要比cookie安全很多。感兴趣的朋友一起学习吧
    2015-10-10
  • ThinkPHP中关联查询实例

    ThinkPHP中关联查询实例

    这篇文章主要介绍了ThinkPHP中关联查询的用法,实例分析了ThinkPHP中table、join及原生查询与多表查询等的用法,具有一定的参考借鉴价值,需要的朋友可以参考下
    2014-12-12
  • php大小写转换函数(strtolower、strtoupper)用法介绍

    php大小写转换函数(strtolower、strtoupper)用法介绍

    strtoupper() 函数把字符串转换为大写而strtolower函数: 该函数将传入的字符串参数所有的字符都转换成小写,并以小定形式放回这个字符串。下面通过本文给大家分享php大小写转换函数(strtolower、strtoupper)用法,需要的朋友参考下吧
    2017-11-11
  • Laravel如何创建服务器提供者实例代码

    Laravel如何创建服务器提供者实例代码

    这篇文章主要给大家介绍了关于Laravel如何创建服务器提供者的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Laravel具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-04-04
  • php制作unicode解码工具(unicode编码转换器)代码分享

    php制作unicode解码工具(unicode编码转换器)代码分享

    php制作Unicode编码解码在线转换工具代码分享
    2013-12-12
  • Laravel框架控制器的middleware中间件用法分析

    Laravel框架控制器的middleware中间件用法分析

    这篇文章主要介绍了Laravel框架控制器的middleware中间件用法,结合具体案例形式分析了Laravel框架控制器的middleware中间件相关使用步骤、操作技巧与注意事项,需要的朋友可以参考下
    2019-09-09

最新评论