我下载了一个在Laravel 5.0中创建的简单应用程序。我在Http \ Requests下找到了一些文件,例如
HTTP \请求\ Request.php
<?php namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
abstract class Request extends FormRequest {
//
}
HTTP \请求\管理员\ PhotoRequest.php
<?php namespace App\Http\Requests\Admin;
use Illuminate\Foundation\Http\FormRequest;
class PhotoRequest extends FormRequest {
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'language_id' => 'required|integer',
'photo_album_id' => 'required|integer',
];
}
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
}
这些课程的目的是什么?它是如何生效的?
答案 0 :(得分:3)
您希望拥有瘦控制器以获得更好的可维护性。当您拥有大量具有大量验证规则的表单字段时,您的控制器将变得臃肿。因此,您需要移动模型中的所有数据逻辑,请求类中的验证逻辑等。
您可以阅读有关单一责任原则here的更多信息。
答案 1 :(得分:1)
例如rules()
方法,当您提交表单时,它将检查字段是否经过验证。在控制器中,您可以使用
function postForm(PhotoRequest $request){
// Your Codes. You don't need to validate the data
}