Ok @LPMadness, I think this might help you.
I create a Middleware called AddToRequest and registered it in Kernel.php. See the code below
AddToRequest.php
<?php namespace App\Http\Middleware;
use Carbon\Carbon;
use Closure;
class AddToRequest {
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
$request->request->add(['dummy' => 'hey man', 'date' => Carbon::now()]);
return $next($request);
}
}
Kernel.php
<?php namespace App\Http;
use Illuminate\Foundation\Http\Kernel as HttpKernel;
class Kernel extends HttpKernel {
/**
* The application's global HTTP middleware stack.
*
* @var array
*/
protected $middleware = [
'Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode',
'Illuminate\Cookie\Middleware\EncryptCookies',
'Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse',
'Illuminate\Session\Middleware\StartSession',
'Illuminate\View\Middleware\ShareErrorsFromSession',
'App\Http\Middleware\VerifyCsrfToken',
];
/**
* The application's route middleware.
*
* @var array
*/
protected $routeMiddleware = [
'auth' => 'App\Http\Middleware\Authenticate',
'auth.basic' => 'Illuminate\Auth\Middleware\AuthenticateWithBasicAuth',
'guest' => 'App\Http\Middleware\RedirectIfAuthenticated',
'inject' => 'App\Http\Middleware\AddToRequest'
];
}
In the handle() method of the AddToRequest Middleware, I set two variables and add it to the request
$request->request->add(['dummy' => 'hey man', 'date' => Carbon::now()]);
Then, in my controller I use the inject middleware
public function __construct()
{
$this->middleware('inject');
$this->middleware('guest');
}
In the index() method of the controller I inject the use Illuminate\Http\Request object and pull the variables I set in the middleware from the request object as follows:
public function index(Request $request)
{
dd($request->get('dummy'), $request->get('date'));
return view('welcome');
}
I hope that helps :-)