首页 > 开发 > PHP > 正文

跟我学Laravel之请求与输入

2024-05-04 22:18:25
字体:
来源:转载
供稿:网友

基本输入

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 类.
获取已持久化的用户提交的信息

代码如下:

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表