Я новичок в программировании и создаю свое первое реальное приложение, которое использует EVE Online ESI API.У меня настроен контроллер входа, который перенаправляет пользователя в ESI для входа и обрабатывает обратный вызов.Пока я могу успешно подключаться и извлекать данные, такие как имя пользователя, токен и т. Д., В переменную моего контроллера входа в систему, и я могу немедленно передать эту переменную в представление.Моя проблема состоит в том, чтобы выяснить, как сделать эту переменную доступной для всех представлений.
Я пытался использовать View :: share ('user', $ user);в контроллере входа, но он не работает.
В моем web.php у меня есть следующие маршруты:
Route::get('login/eveonline', 'EVELoginController@redirectToProvider');
Route::get('login/eveonline/callback', 'EVELoginController@handleProviderCallback');
У меня есть это в моем файле EVELoginController.php:
<?php
namespace App\Http\Controllers;
use Socialite;
use Laravel\Socialite\Two\User;
use View;
class EVELoginController extends Controller {
/*
| Redirect the user to the EVE online authentication page.
|
| @return \Illuminate\Http\Response
*/
public function redirectToProvider() {
return Socialite::driver('eveonline')->redirect();
}
/*
| Obtain the user information from EVEOnline.
|
| @return \Illuminate\Http\Response
|
*/
public function handleProviderCallback() {
$user = Socialite::driver('eveonline')->stateless()->user();
return View::make('successful-eve-login',$user);
}
}
С этим кодом представление получает переменную, и я могу использовать ее в HTML представления.Но эта переменная нигде не сохраняется, так что ее можно получить другими представлениями позже.Каков наилучший способ получения данных в других представлениях?Простите, что я очень нуб, но я пытаюсь.