在扩展FormRequest的类的__construct中,调用Request::all()方法返回空数组的原因是因为在构造函数中,请求数据还没有被填充到Request对象中。在Laravel框架中,FormRequest类的构造函数会在请求实例化时被调用,此时请求数据还没有被填充到Request对象中,因此调用Request::all()方法会返回空数组。
FormRequest类是用于验证请求数据的类,它继承自Illuminate\Foundation\Http\FormRequest类。在FormRequest类的构造函数中,会调用父类的构造函数,并将请求实例传递给父类的构造函数进行初始化。在父类的构造函数中,会调用initialize()方法来填充请求数据到Request对象中。
因此,如果在FormRequest类的构造函数中调用Request::all()方法,会返回空数组。如果需要获取请求数据,可以在FormRequest类的其他方法中调用Request::all()方法或使用$this->all()方法来获取请求数据。
需要注意的是,FormRequest类中的验证规则和验证逻辑应该在authorize()和rules()方法中定义,而不是在构造函数中进行。构造函数主要用于初始化请求对象和其他一些操作,不适合进行验证逻辑的处理。
推荐的腾讯云相关产品:腾讯云云服务器(CVM),腾讯云对象存储(COS)
腾讯云云服务器(CVM)是一种可扩展的计算服务,提供了高性能、可靠稳定的云服务器实例,适用于各种应用场景。您可以根据自己的需求选择不同配置的云服务器实例,并灵活调整配置。腾讯云云服务器支持多种操作系统,提供了丰富的网络和存储选项,可以满足不同应用的需求。
腾讯云对象存储(COS)是一种高可用、高可靠、可扩展的云存储服务,适用于存储和处理各种类型的数据。腾讯云对象存储提供了简单易用的API接口和控制台管理工具,可以方便地上传、下载、管理和分享数据。腾讯云对象存储支持多种存储类型和数据处理功能,可以满足不同场景的需求。
更多关于腾讯云云服务器和对象存储的详细信息,请访问以下链接: 腾讯云云服务器(CVM):https://cloud.tencent.com/product/cvm 腾讯云对象存储(COS):https://cloud.tencent.com/product/cos
领取专属 10元无门槛券
手把手带您无忧上云