Почему-то больше чем уверен, что есть кто встречались с такой задачей, но что-то особо не нашел решения, гугл подсказывает, что многие пихают в request данные и оттуда вытягивают ($request->object), а как-то можно зависимостью подставить?
Хотелось бы что-то такое:
// Url: site.tld/username/profile
// Url: site.tld/username/posts
// Url: site.tld/username/comments
// routes
Route::prefix('{userLogin}')
->name('user.')
->middleware('user.login')
->group(*);
// Middleware
public function handle($request, Closure $next)
{
$user = User::where('login', $request->segment(1))->findOrFail();
app('url')->defaults(['login' => $user->login]);
*set_data*('currentUser', $user);
return $next($request);
}
// controller
public function show(User $currentUser)
{
}
После будет более сложная логика, хотелось бы решить именно middleware, чтоб в каждом контроллере-экшне такое не решать =/