Nano Hash - криптовалюты, майнинг, программирование

Могу ли я реорганизовать неиспользуемую переменную $request в контроллере?

Допустим, я создаю небольшое приложение, небольшая часть которого отвечает за отправку электронного письма при отправке контактной формы. Я хочу сделать это только в том случае, если контактная форма пройдет простую проверку.

В следующем контроллере параметр ContactRequest $request внутри метода не используется, хотя Laravel использовал подсказку типа для автоматического применения логики ContactRequest к запросу.

Можно ли добиться того же, не оставляя неиспользуемой переменной в методе контроллера?


// Route
Route::post( 'contact', 'PageController@submitContactForm' );

// PageController
public function submitContactForm( ContactRequest $request ) {
    sendContactFormEmail();

    return redirect()->back();
}

// ContactRequest
public function authorize() {
    return hasNotSubmittedContactFormRecently();
}

public function rules() {
    return [ 'message' => 'required' ];
}

Ответы:


1

Да, вы можете написать свой метод контроллера так:

// PageController
public function submitContactForm() 
{
    app()->make(ContactRequest::class);

    sendContactFormEmail();

    return redirect()->back();
}

и это будет иметь тот же эффект. Однако для меня лучше использовать его, как вы использовали его раньше.

Также, вероятно, вы каким-то образом используете полученные данные, поэтому может быть более разумно использовать их так:

sendContactFormEmail($request);

вместо того, чтобы, вероятно, вводить запрос в метод sendContactFormEmail.

20.12.2016
  • Имеет смысл; Я как бы надеялся на другой способ их отображения, но это не конец света :-) Я согласен, что app()->make гораздо менее читаем, приветствую ответ 22.12.2016
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..