mcmraak
@mcmraak
php+sql+js+bicycle+crutches

Можно ли передать переменную из метода в посредник (middleware)?

Всем здравия! Помогите пожалуйста понять.

К примеру я имею контроллер FooController c методом myMethod, и посредник myMiddleware

В роуте написано:
Route::post('/slug','FooController@myMethod');

В контроллере написано:
#...
class FooController extends Controller
{
    public function __construct()
    {
        $this->middleware('myMiddleware', ['only' => ['myMethod']]);
    }
    public function myMethod(Request $request)
    {
        #...
    }
    #...
}


В данном случае посредник работает с данными Request которые приходят из роута, что-то проверяет сверяет и т.д. и уже потом, если всё ок выполняет метод. А можно ли передавать данные прямо из тела метода в посредник? Или это противоречит самому смыслу посредника и надо внедрять зависимости и т.д.
  • Вопрос задан
  • 875 просмотров
Решения вопроса 1
Vadiok
@Vadiok
Веб разработчик
Смыслу посредника это противоречит, т.к. смысл в нем - вызвать после проверки метод, если все ОК или бросить ошибку, если нет.
Если вы хотите вызывать из проверку из метода, то стоит просто использовать какой-то класс-помощник, а не конкретно middleware.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@litvinenkow
возник такой вопрос, раз уж тут обсуждаются middleware
а можно-ли прямо из контроллера вызвать метод midlleware handle и как это сделать?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы