我试图在Laravel 5 Middleware中使用Sessions,但它们无法正常工作.具体来说 - var_dump(Session::all());在handle方法的开头给我一个数组的值--_tokken,然后在这个方法的最后
Session::put('lang',$locale);
var_dump(Session::all());
Run Code Online (Sandbox Code Playgroud)
给我数组有两个值,_tokken和我的lang键,但刷新后它相同,据我所知,第二次刷新后应该有相同的结果.
我可能在Session中间件之前加载了我的中间件,这是真的,然后我切换了,现在我的Kernel.php看起来像这样 -
protected $middleware = [
'Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode',
'Illuminate\Cookie\Middleware\EncryptCookies',
'Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse',
'Illuminate\Session\Middleware\StartSession',
'Illuminate\View\Middleware\ShareErrorsFromSession',
'App\Http\Middleware\VerifyCsrfToken',
'App\Http\Middleware\Language',
];
Run Code Online (Sandbox Code Playgroud)
所以我问 - 我做错了什么?
编辑:挖掘Illuminate\Session\Middleware\StartSession我发现了这个 -
//Note that the Laravel sessions do not make use of PHP "native" sessions in any way since they are crappy.
Run Code Online (Sandbox Code Playgroud)
作为评论,所以我对session_status()的测试不是相关的.
所以我有这个后退按钮,当我创建一个建筑物时,我会使用这个按钮,主页的后退按钮也可以编辑它的工作.
问题是我有一个OfficePage也有创建和编辑,办公室页面的后退按钮不工作每次我点击创建办公室时,我按回来它不刷新页面我必须刷新它所以我可以看到办公室我创建了heres我的路线和代码.
这是用于构建的后退按钮代码
<a href="{{route('index')}}" class="btn btn-default btn-md"> GO Back</a>
Run Code Online (Sandbox Code Playgroud)
这是办公室的后退按钮代码
<a href="javascript:history.back()" class="btn btn-default">Back</a>
Run Code Online (Sandbox Code Playgroud)
路线
Route::get('/home', 'HomeController@index')->name('home');
Route::get('/', 'BuildingController@index')->name('index');
Route::get('building/{id}', 'PageController@show');
Route::get('buildings/create', 'BuildingController@create')->name('createbform')
Route::post('building/create/store', 'BuildingController@store')->name('createbuilding');
Route::get('building/{id}/edit', 'BuildingController@edit');
Route::post('building/{id}/edit', 'BuildingController@update')->name('editbuilding');
Route::get('building/{id}/delete', 'BuildingController@destroy');
Route::get('office/{id}', 'OfficeController@show')->name('officeMenu');
Route::get('building/{id}/offices/create', 'OfficeController@create')->name('createofficeform');
Route::post('building/{id}/offices/create/store', 'OfficeController@store')->name('createoffice');
Route::get('building/{id}/offices/edit', 'OfficeController@edit')->name('editofficeform');
Route::post('building/{id}/offices/edit', 'OfficeController@update')->name('editoffice');
Route::get('offices/{id}/delete', 'OfficeController@destroy')->name('deleteoffice');
Run Code Online (Sandbox Code Playgroud)