В моей BaseController я это:
public function __construct()
{
$user = Auth::user();
View::share('user', $user);
}
я могу получить доступ к массиву $ пользователя на протяжении всех моих взглядов, но что, если я хочу, чтобы быть глобальными переменная доступна во всех моих контроллерах?
У меня есть следующий рабочий код:
use Auth;
use DB;
class UsersController extends BaseController
{
public function index()
{
$user = Auth::user();
$users = DB::table('users')->where('user_id', $user->user_id)->get();
return view('pages.users.index', compact('users');
}
}
Я хочу $ пользовательскую переменную доступной во всех моих контроллеров и внутри всех общественных функций внутри каждого на контроллерах, но я не хочу иметь для повторного использования "использовать Auth;" и "$ user = Auth :: user();"
Я попытался добавить его в __construct в BaseController, но это, похоже, не работает, неопределенная ошибка переменной пользователя $. Есть предположения? Я знаю, что это возможно.
Посмотрите на Laravel промежуточного слоя, это может помочь вам. http://laravel.com/docs/5.0/middleware – sandeepsure
Почему вы не используете для этого вспомогательную функцию? –