Php FormRequest all()方法导致Laravel 5.5中的反射异常
与laravel 5.5发行 如果我在formRequest类中使用Php FormRequest all()方法导致Laravel 5.5中的反射异常,php,laravel,laravel-5,laravel-5.4,laravel-5.5,Php,Laravel,Laravel 5,Laravel 5.4,Laravel 5.5,与laravel 5.5发行 如果我在formRequest类中使用all()方法,它会引发反射异常 但是当我删除all()方法时,它工作得很好 这在laravel 5.4中不是一个问题 <?php namespace App\Http\Requests; use Illuminate\Foundation\Http\FormRequest; class CashDepositRequest extends FormRequest { public function auth
all()
方法,它会引发反射异常
但是当我删除all()
方法时,它工作得很好
这在laravel 5.4中不是一个问题
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class CashDepositRequest extends FormRequest
{
public function authorize()
{
return true;
}
public function rules()
{
return [
'amount' => 'bail|required|numeric',
'gateway' => 'bail|required|exists:gateways,id',
];
}
//This method causes reflection exception
public function all()
{
$this->attributes = parent::all();
$this->attributes['amount'] = $this->attributes['amount'];
return $this->attributes;
}
}
首先all()
不是属性,而是类方法
第二件事是这个方法的签名。父类中的签名如下所示:
public function all($keys = null)
所以您应该在子类中将其更新为相同的
如果从中的早期版本升级,您可以阅读:
如果要重写Lightlight\Http\Request类的all方法,则应更新方法签名以反映新的$keys参数:
这可能就是你的问题所在
public function all($keys = null)