Здравствуйте,у меня такой вопрос.Можно ли передать переменную из Middleware в Controller
В laravel 5.x вы можете использовать $request->merge
для добавления параметров в Rquest,или изменить существующий $request->replace(array('inputname' => 'new value'));
.
Если вы пытаетесь это сделать в Middleware то должны помнить что их бывает двух типов.
1.Ваш вариант это Before Middleware։
public function handle($request, Closure $next)
{
//....
$request->merge(array("input_name" => "input_value"));
return $next($request);
}
И в контроллере:
public function index(Request $request)
{
// ...
$my_var1 = $request->input('input_name');
// Так тоже можно получить добавленное значение
$my_var2 = Request::instance()->query('input_name');
// ...
}
2. After Middleware выполнит свою задачу после обработки Request:
public function handle(Request $request, Closure $next)
{
$response = $next($request);
// Request обрабатывается до этой строчки.
// Поэтому делать что либо с Request уже бессмысленно
$request->merge(array("input_name" => "input_value"));
return $response;
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
От 5 символов, можно использовать *-? и цифрыКак это прописать ? [A-Za-z0-9]{5,} как еще *-? дописать ?