diff --git a/blog/laravel/cookie.md b/blog/laravel/cookie.md new file mode 100644 index 0000000000000000000000000000000000000000..3f723c33ca40663c041fafedb2dbf6bfe026bd35 --- /dev/null +++ b/blog/laravel/cookie.md @@ -0,0 +1,42 @@ +# Cookie + +获取Cookie +```php +// 注意 Laravel 中 cookie 都是加密的,原生 cookie 只能获取加密信息 +return $_COOKIE['laravel_session']; +// eyJpdiI6IjBINjVlYW8vSkM5NnVVZW1hUm81T1E9PSIsInZhbHVlIjoiUm16YmdTelZiMUpJZXQ2elpYcDc1dVB0UXFhSWpxaWsyOFNNTzZBZWhVUTZyRjRzWWoycmdTQzI3ZnM4eklpWUZNd21SSlNIK3d4UjdWZmpKSm9JWWx4M0RDTktDOGh2L3B0RlAvMFozYlBVL0hvOEhKYXBsLzQwVmlqMEh5blkiLCJtYWMiOiI2ZTNkZjQxN2Y1ZjAxYmYwZDQxYjg3MTAxNGZmMzVkZjFhZDE2MzhjZjdlYWFjMzc5YTlmYWQ2OGU3ZDJjMjE4IiwidGFnIjoiIn0= + +//使用 request()->cookie 获取解密后的 cookie 信息 +return request()->cookie('laravel_session'); +// sh6TujUjSKMI6ENbXbBwy2eeuTXsuNSkCDUsQGHf + +//使用Cookie获取, +// Illuminate\Support\Facades\Cookie; + +return Cookie::get('laravel_session'); +// sh6TujUjSKMI6ENbXbBwy2eeuTXsuNSkCDUsQGHf +``` + +创建cookie + +```php +return response('Hello Cookie')->cookie('name', 'Mr.Lee', 10); + +//推荐这个,清爽很多 +Cookie::queue('age', 100, 10); + +//助手函数,创建一个实例,让写入可以更加灵活 +$cookie = cookie('gender', '男', 10); +Cookie::queue($cookie); + +// 完整版 过期时间(分钟),路径,域名,https,仅 http +cookie($name, $value, $minutes, $path, $domain, $secure, $httpOnly) +``` + +默认cookie是加密存放的,如果想某个cookie不加密,在中间件文件夹设置 +```php +// Http/Middleware/milldelEncryptCookies.php +protected $except = [ + 'name' +]; +``` \ No newline at end of file diff --git a/blog/laravel/index.md b/blog/laravel/index.md index bef0bce9f46fe5becd9bf3bbbcc95060cd1a53e6..39c77d162c0deaf35a7c9aac4c3955ded8ca3b04 100644 --- a/blog/laravel/index.md +++ b/blog/laravel/index.md @@ -56,6 +56,9 @@ dev: [生成 URL](/blog/laravel/url.md) +[Cookie](/blog/laravel/cookie.md) +[Session](/blog/laravel/session.md) -https://www.bilibili.com/video/BV1gE411j78F?p=34&spm_id_from=pageDriver&vd_source=efbb4dc944fa761b6e016ce2ca5933da \ No newline at end of file + +https://www.bilibili.com/video/BV1gE411j78F?p=38&spm_id_from=pageDriver&vd_source=efbb4dc944fa761b6e016ce2ca5933da \ No newline at end of file diff --git a/blog/laravel/request-method.md b/blog/laravel/request-method.md index d82154343040fd5476b24aed3f5135c7d843e3bb..23c7bf7983a6299357b2f30b8e6b2dc2782850e5 100644 --- a/blog/laravel/request-method.md +++ b/blog/laravel/request-method.md @@ -13,11 +13,14 @@ $request->input(); $request->name; ``` -接受数组 +接受二维数组 ```html
- + + + +
``` diff --git a/blog/laravel/session.md b/blog/laravel/session.md new file mode 100644 index 0000000000000000000000000000000000000000..d40d99249d8bc74b51a5305135722d4acf158866 --- /dev/null +++ b/blog/laravel/session.md @@ -0,0 +1,101 @@ +# Session + +启动Web后,默认会有session + +获取所有session +```php +return request()->session()->all() +``` + +获取某一个session + +```php +// 获取其中一个 session +return request()->session()->get('_token'); + +// 参数 2,闭包设置默认值 +return request()->session()->get('name', function () { + return 'no session name'; +}); + +return Session::get('_token'); +``` + +助手函数session() +```php +// 获取 session 值 +return session('_token'); + +// 获取 session 值并设置默认值 +return session('name', 'no session name'); +``` + +判断是否存在session有两种方案 + +```php +// 判断是否存在且不为null +return Session::has('name'); + +// 判断是否存在,即使是null +return Session::exists('name'); +``` + +存储session值 + +```php +//设置 session 值 +session(['name' => 'Mr.Lee']); + +// 也支持 request()存储 +Session::put('name', 'MrWang'); +``` + +存储数组 +```php +//session 数组方式 +Session::push('info.name', 'Mr.Lee'); +Session::push('info.name', 'Mr.Wang'); +Session::push('info.name', 'Mr.Zhang'); + +return Session::get('info'); +``` + +闪存数据 +```php +// 存储的 session 只能被获取一次,然后自动删除,flash 也称为闪存数据 +Session::flash('name', 'Mr.Lee'); + +// 本次请求获取,不要删除数据,给下一次请求时再自行删除,这是保存所有闪存数据 +Session::reflash(); + +// 保存单独的删除数据 +Session::keep(['name']); + +return Session::get('name'); +``` + +删除一条或多条 session 数据 +```php +// 删除一条数据 +Session::forget('name'); + +Session::forget(['name']) + +return Session::get('name'); + +// 删除一条数据,并返回 +Session::pull('info'); + +// 删除所有数据 +Session::flush(); +``` + +重新生成 SessionID + +```php +//重新生成 SessionID +Session::regenerate(); + +// 获取 SessionID +return Cookie::get('laravel_session'); +``` \ No newline at end of file