laravel模版中的old()方法是做什么的?
你可以用phpstorm,然后command+b看他的源码,
if (! function_exists('old')) {
/**
Retrieve an old input item.
*
@param string $key
@param mixed $default
@return mixed
*/
old($key = null, $default = null)
{
return app('request')->old($key, $default);
}
}
其实这里也是指向了request的
旧输入数据
当用户提交表单失败后laravel会自动把用户的输入数据闪存到一次性的session里面(这个数据一刷新就会丢失,故称为一次性数据)。那么old('input_name')就可以取出session中的闪存数据,从而避让让用户重新输入。
<input type="text" name="input_name" value="{{ old('input_name') }}" />
比如post到一个地址,验证数据出错的时候,要返回上一页,为了更好的用户体验,会把填写的信息保存到flash session中,在上一页显示出来。
这样用户不至于在辛辛苦苦填写了一大堆表单数据后出错,然后返回重填。