Laravel получит название просматриваемого маршрута
Вот способ добиться этого: я хочу проверить в AppServiceProvider, имя представленного представления.
Так, например:
- Пользователь входит в
/home
для этого маршрута в контроллере этоreturn view('website.home');
- Из AppServiceProvider получить текущий маршрут и получить имя представления, которое отображается.
1 ответ
Решение
Я не знаю, что можно получить название вида в AppServiceProvider
, поскольку это выполняется до создания представления в соответствующем методе контроллера маршрута. Вы можете получить имя представления в контроллере, однако, после его создания:
$view = view('website.home');
$name = $view->getName();
return $view;
Текущее имя маршрута доступно внутри поставщика услуг, используя:
request()->route()->getName();
// or
Request::getCurrentName();
редактировать
На самом деле это, вероятно, было бы выполнимо с композитором представления и подстановочным соответствием на представлении:
// AppServiceProvider boot method
public function boot()
{
view()->composer('*', function($view) {
view()->share('viewName', $view->getName());
});
}