なるほど、classを作る際はphp artisan make:hogeね。
[vagrant@localhost myblog]$ php artisan make:request PostRequest
Request created successfully.

post request classが出来た。
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class PostRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'title' => 'required|min:3',
'body' => 'required',
];
}
public function messages(){
return [
'title.required' => 'please enter title!!!'
];
}
}
PostsController.phpも変更する。
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Post;
use App\Http\Requests\PostRequest;
class PostsController extends Controller
{
//
public function index(){
// $posts = Post::orderBy('created_at', 'desc')->get();
$posts = Post::latest()->get();
// $posts = [];
// dd($posts->toArray()); // dump die
// return view('posts.index', ['posts' => $posts]);
return view('posts.index')->with('posts', $posts);
}
public function show(Post $post){
// $post = Post::find($id);
// $posts = Post::findOrFail($id);
return view('posts.show')->with('post', $post);
}
public function create(){
return view('posts.create');
}
public function store(PostRequest $request){
$post = new Post();
$post->title = $request->title;
$post->body = $request->body;
$post->save();
return redirect('/');
}
public function edit(Post $post){
return view('posts.edit')->with('post', $post);
}
public function update(PostRequest $request, Post $post){
$post->title = $request->title;
$post->body = $request->body;
$post->save();
return redirect('/');
}
}