Intereting Posts
Лучший способ Sanitize / Filter Комментарии пользователей? Получить текущий URL / URI без каких-либо переменных $ _GET Как я могу получить содержимое загруженного файла в php? SQL-парсер в PHP? Как добавить 24 часа в временную метку unix в php? Создание файла конфигурации в PHP Реализация GCM с использованием PHP, всегда сталкивающегося с неавторизованной ошибкой 401 Как перенаправить пользователя в мобильное приложение или веб-сайт при нажатии гиперссылки, отправленной по электронной почте? Должно ли это быть обработано на стороне сервера с помощью PHP? Создание уникальных идентификаторов ввода формы и имени ввода во время цикла Контроллер Yii 1.14 из двух частей модуля производит ошибку 404 Symfony fosuserbundle добавить объект учетной записи для лица Как выполнить команды SSH через PHP Zend Framework 2 + Doctrine 2 Вставка двоичного кода в MySQL BLOB Textarea пуст в поле базы mySQL PHP

Сессия $ request-> не работала в контроллере ресурсов Laravel 5.3

Прежде всего, я уже проверял, что в другом контроллере (не в контроллере ресурсов) мой сеанс работает очень хорошо, но когда я это сделал в контроллере ресурсов, мой код для сеанса сеанса не работал.

Вот мой контроллер ресурсов

<?php namespace App\Http\Controllers\Admin; use Illuminate\Http\Request; use App\Http\Controllers\Controller; //tambahan use DB; use Session; //model use App\_admins; use App\Mahasiswas; class MahasiswaController extends Controller { protected $data; protected $token; public function __contruct(){ $this->data = array(); $this->middleware(function ($request, $next) { $this->token = $request->session()->get('_admin_id'); if (!$request->session()->has('_admin_id')) { abort(404); } return $next($request); }); } private function user($token){ $this->data['query'] = _admins::find($token); } public function index(){ echo $this->token; } 

Существует более публичная функция, но она по-прежнему пуста, поэтому я не показываю ее здесь, чтобы избежать путаницы. И вот мой маршрут в web.php:

 Route::group(['namespace' => 'Admin'],function(){ Route::resource('/admin/mahasiswa','MahasiswaController'); Route::resource('/admin/nilai','NilaiController'); }); 

В 5.3 промежуточное ПО еще не запущено в constructor , поэтому вы не можете собрать данные session . Но используя подход, основанный на закрытии, вы должны иметь доступ к нему с чем-то вроде этого:

 $this->middleware(function($request, $next) { // Get the session value (uses global helper) $this->token = session('_admin_id'); // If the value is null, abort the request if (null === $this->token) abort(404); return $next($request); });