这是一个非常有趣的情况:
根据 laravel 的文档,如果2nd
参数Input::get()
不存在,则返回默认值。
data-from
不幸的是,尽管指定了默认值,但该行在丢失时会引发错误“数据丢失” :
Carbon::createFromFormat('Y/m/d',Input::get('date-from','2015/01/01'))
完整代码:
try
{
$dateFrom = Carbon::createFromFormat('Y/m/d',Input::get('date-from','2015/01/01'));
}
catch(InvalidArgumentException $e)
{
return Response::make($e->getMessage(),500);
}
但是,如果我这样做:
Input::has('date-from') ? Carbon::createFromFormat('Y/m/d',Input::get('date-from')) : new Carbon('2015/01/01')
它完美地工作。
问题很简单:为什么?