欢迎各位兄弟 发布技术文章
这里的技术是共享的
由于 HTTP 协定是无状态(Stateless)的,所以 session 提供一种储存用户数据的方法。Laravel 支持了多种 session 后端驱动,并通过清楚、统一的 API 提供使用。也内建支持如 Memcached,Redis 和数据库的后端驱动。
session 的配置文件配置在 app/config/session.php
中,请务必看一下 session 配置文件中可用的选项设定及注释。Laravel 默认使用 file
的 session 驱动,它在多数的应用中可以良好运作。
Laravel 框架在内部有使用 flash
作为 session 的键值,所以应该您在使用 session 时应避免使用此名称。
有时您可能希望暂存一些数据,并只在下次请求有效。您可以使用 Session::flash
方法来达成目的:
当使用 database
session 驱动时,您必需创建一张储存 session 的数据库表。下面的例子使用Schema
来建表:
当然您也可以使用 Artisan 命令 session:table
来建表:
session 配置文件中的 "driver" 定义了 session 数据将以哪种方式被储存。Laravel 提供了许多良好的驱动:
file
- sessions 将储存在 app/storage/sessions
文件夹中。cookie
- sessions 将安全储存在加密的 cookies 中。database
- sessions 将储存在您的应用程序数据库中。memcached
/ redis
- sessions 将储存在一个高速缓存的系统中。array
- sessions 将单纯的以 PHP 数组储存,只存在当次请求。来自 http://v4.golaravel.com/docs/4.2/session注意: 运行 unit tests 时,session 驱动会被设定为
array
,所以不会留下任何 session 数据。