【发布时间】:2018-09-11 07:50:28
【问题描述】:
我看过一些帖子,比如
Laravel5 - can't get Sessions working
Laravel 5 - session doesn't work
但我没有得到我想要的解决方案。
我正在尝试建立一个多语言网站。我使用会话来存储它。
我知道在我的控制器中,比如 ProductController,函数 index(){},我可以这样做
$this->request->session()->put('locale', 'en');
$this->request->session()->keep('locale');
$value = $this->request->session()->get('locale');
dd($value);
dd(Session::all());
Session::put('locale', 'en');
Session::keep('locale');
Session::save();
$value = $this->request->session()->get('locale');
dd($value);
dd(Session::all());
但是我想在Controller.php中使用,所以我只需要做一次session set并且只获取一次,而不是在我创建的每个控制器中。
<?php
namespace App\Http\Controllers;
use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
use Session;
class Controller extends BaseController
{
use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
public function __construct()
{
Session::put('locale', 'zh');
Session::save('locale');
$value = Session::get('locale');
dd($value);
dd(Session::all());
}
}
但这不起作用。或者我应该在某个地方做这个,在中间件之后,我不熟悉这个。谁能给我一些建议?
【问题讨论】: