- Laravel环境安装配置
- Laravel应用程序结构
- Laravel配置
- Laravel路由
- Laravel中间件
- Laravel控制器
- Laravel请求
- Laravel Cookie
- Laravel响应
- Laravel视图
- Laravel重定向
- Laravel操作数据库
- Laravel插入数据库表数据
- Laravel检索查询数据
- Laravel更新数据
- Laravel删除数据
- Laravel错误和日志记录
- Laravel表单处理
- Laravel本地化
- Laravel会话(session)
- Laravel验证
- Laravel文件上传
- Laravel发送邮件
- Laravel Ajax
- Laravel错误处理
- Laravel事件处理
- Laravel Facades
- Laravel安全
Laravel Cookie
创建Cookie
Cookie可以通过 Laravel 的全局 cookie 助手来创建。
它是 Symfony\Component\HttpFoundation\Cookie 的一个实例,cookie可以附加到使用withCookie()方法的响应。
调用 withCookie()方法创建 Illuminate\Http\Response 类的一个实例。由Laravel生成的cookie经过加密并签名,并且不能由客户修改或读取。
//Create a response instance $response = new Illuminate\Http\Response('Hello World'); //Call the withCookie() method with the response method $response->withCookie(cookie('name', 'value', $minutes)); //return the response return $response;
Cookie() 方法带有3个参数。第一个参数是Cookie的名称,第二个参数是cookie的值,而第三个参数是在此之后自动删除cookie的值的持续时间。
$response->withCookie(cookie()->forever('name', 'value'));
检索Cookie
当我们设置Cookie,可以通过 cookie()方法检索cookie。cookie()方法只有一个参数,它是Cookie的名称。cookie方法可以用Illuminate\Http\Request 的实例调用。
//’name’ is the name of the cookie to retrieve the value of $value = $request->cookie('name');
示例
php artisan make:controller CookieController
app/Http/Controllers/CookieController.php
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Http\Response; use App\Http\Requests; use App\Http\Controllers\Controller; class CookieController extends Controller { public function setCookie(Request $request){ $minutes = 1; $response = new Response('Hello World'); $response->withCookie(cookie('name', 'virat', $minutes)); return $response; } public function getCookie(Request $request){ $value = $request->cookie('name'); echo $value; } }
app/Http/routes.php
Route::get('/cookie/set','CookieController@setCookie'); Route::get('/cookie/get','CookieController@getCookie');
http://localhost:8000/cookie/set
第6步 - 将显示如下所示的输出。在下面屏幕截图是火狐浏览器,但可根据你的浏览器情况可能有所不同,cookie也可以从cookie选项选中。
http://localhost:8000/cookie/get