Ja Sie Ihren Routenparameter von Middleware erhalten.
In Middleware können Sie wie diese „Objekt abgestimmte Route“ erhalten:
class MyMiddleware
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
$matchedRouteObject = $request->route();
$next($request);
}
}
Siehe print_r($request->route())
gibt es eine Eigenschaft, die Aktion in dieser Route Objekt mit dem Namen. Aktionseigenschaft hat alle Parameter der übereinstimmenden Route.
routes/web.php :
Route::get('tools/languages/{page?}', [
'uses' => '[email protected]_languages',
'middleware' => 'App\Http\Middleware\MyMiddleware',
'cache' => 'value'
]);
app/Http/Middleware/MyMiddleware.php:
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Response;
class MyMiddleware
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
$matchedRouteObject = $this->route();
$deedVariable = $mathedRouteObject->action['cache']; // here you got your variable.
return $next($request);
}
}