参考図書
Laravelではクッキーの読み書きの機能も用意されている。
クッキーの値の取得
$変数 = $request->cookie(キー)
クッキーを新たに保存
$response->cookie(キー, 値, 分数)
クッキーの値の保存と値の取得は用意されているオブジェクトが違う。
app/Http/Controllers/HelloController.php
class HelloController extends Controller{
public function index(Request $request){
if($request->hasCookie('msg')){
$msg = $request->cookie('msg');
}else{
$msg = 'Cookieはありません';
}
return view('hello,index', ['msg'=>$msg]);
}
public function post(Request $request){
$msg = $request->msg;
$response = response()->view('hello.index',['msg'=>$msg]);
$response->cookie('msg',$msg,100)
return $response;
}
}
viewを含めたResponseを用意し、cookieで保存してから、そのResponseをreturnする。
クッキーはクライアント側に保存されるものだから、レスポンスをクライアントに返さないと保持はされない。