За последние 24 часа нас посетили 17914 программистов и 1569 роботов. Сейчас ищут 1293 программиста ...

Зачем нужны посредники, если есть контроллеры

Тема в разделе "Laravel", создана пользователем yurri_87, 29 авг 2017.

Метки:
  1. yurri_87

    yurri_87 Новичок

    С нами с:
    29 авг 2017
    Сообщения:
    37
    Симпатии:
    5
    В чем логика создания нового Middleware, если ту-же самую проверку я могу описать в контроллере?
    Интересует вопрос в чем логика и удобство.
    Хочу использовать Laravel осмысленно.
     
  2. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    @yurri_87 быть в тренде - это уже логично
     
  3. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.108
    Симпатии:
    1.243
    Адрес:
    там-сям
    write once use many
     
    denis01 нравится это.
  4. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.583
    Симпатии:
    1.761
    @yurri_87 чтобы цеплять их к разным контроллерам, даже к разным акциям и в разных наборах. Плюс для того, чтобы меньше было лишнего кода в контроллерах. Мне например нравится идея в Laravel валидацию выносить в класс запроса, а в контроллере уже быть уверенным, что данные верны.
    -
     
  5. yurri_87

    yurri_87 Новичок

    С нами с:
    29 авг 2017
    Сообщения:
    37
    Симпатии:
    5
    Поясните, пожалуйста, что значит "акции" и "наборы". Гугл не дал ответа.
     
  6. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.583
    Симпатии:
    1.761
    Акция или действие контроллера - ну это метод класса контроллера, ассоциированный с маршрутом. Фиг знает, все по-разному переводят, поэтому я называю акция чаще всего (в англ. литературе всегда action)
    PHP:
    1. Route::get("/home", "Home@index"); // Home::index - action
    А наборы - в обычно человеческой дифиниции, разные комбинации посредников в разных действиях
    PHP:
    1. Route::get("/url", "ControllerName")->middleware(['m1', 'm2']);
    2. Route::get("/url2", "ControllerName2")->middleware(['m1', 'm3']);
    Вообще, у ларки вполне себе неплохая дока, не идеальная, но обычно её хватает. И такие вещи там точно объяснены.
     
    yurri_87 и artoodetoo нравится это.