我的Laravel项目中有自定义助手,类:
<?php
namespace App\Http\Helpers;
class FoxUtils {
public static function isAuthTo($name)
{
if (self::test($name)){
\Session::push('AuthList',[$name => true]);
return true;
}
else{
\Session::push('AuthList',[$name => false]);
return false;
}
}
}
有两个注意事项:
会话变量AuthList
是数字索引数组,其值为如下所示的数组:
array:2 [▼
0 => array:1 [▼
"name1" => true
]
1 => array:1 [▼
"newName" => true
]
]
值"name1" => true
是从我的助手以外的地方定义的。当我尝试使用我的助手方法时,我认为应该将新键添加到数组中:
\FoxUtils::isAuthTo('AnotherName');
dd(session('AuthList'))
上面的代码打印只有两个键的数组,而我期待三个:
array:2 [▼
0 => array:1 [▼
"name1" => true
]
1 => array:1 [▼
"AnotherName" => true
]
]
换句话说,AuthList
的最后一个值总是被新值替换!这有什么问题?
答案 0 :(得分:0)
从this我尝试使用Session::save()
,它运行良好:
....
if (self::test($name)){
\Session::push('AuthList',[$name => true]);
\Session::save();
return true;
}
....