РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
447 of 1392 menu

Метод input

Метод input класса Request предназначен для получения значения конкретного поля из входящего запроса. Он позволяет извлекать данные из всех источников: строки запроса (query), тела запроса (POST/PUT/PATCH) и даже из JSON-данных. Первым параметром передаётся имя поля, вторым (необязательным) - значение по умолчанию, которое будет возвращено, если поле отсутствует.

Синтаксис

<?php $value = $request->input($key, $default); ?>

Пример

Давайте получим значение поля 'name' из запроса:

<?php use Illuminate\Http\Request; Route::get('/user', function (Request $request) { $name = $request->input('name'); echo $name; }); ?>

Результат выполнения кода при GET-запросе /user?name=John:

"John"

Пример

Давайте получим значение поля 'email' с указанием значения по умолчанию:

<?php use Illuminate\Http\Request; Route::post('/profile', function (Request $request) { $email = $request->input('email', 'default@example.com'); echo $email; }); ?>

Результат выполнения кода при POST-запросе без поля 'email':

"default@example.com"

Пример

Давайте получим вложенное значение из массива с использованием "точечной" нотации:

<?php use Illuminate\Http\Request; Route::put('/settings', function (Request $request) { $theme = $request->input('user.preferences.theme', 'light'); echo $theme; }); ?>

Результат выполнения кода при PUT-запросе с JSON-данными {"user":{"preferences":{"theme":"dark"}}}:

"dark"

Пример

Давайте используем метод input для получения данных из формы в контроллере:

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Models\User; class UserController extends Controller { public function store(Request $request) { $user = new User(); $user->name = $request->input('name'); $user->email = $request->input('email'); $user->age = $request->input('age', 18); $user->save(); echo "User created successfully"; } } ?>

Результат выполнения кода при POST-запросе с данными формы name=John&email=john@example.com:

"User created successfully"

Пример

Давайте получим несколько полей с помощью метода only, а затем используем input для отдельных полей:

<?php use Illuminate\Http\Request; Route::post('/register', function (Request $request) { $validated = $request->only(['name', 'email', 'phone']); $name = $request->input('name'); $email = $request->input('email'); $phone = $request->input('phone', 'not provided'); echo "Name: $name, Email: $email, Phone: $phone"; }); ?>

Результат выполнения кода при POST-запросе с полями name=Alice&email=alice@example.com:

"Name: Alice, Email: alice@example.com, Phone: not provided"

Смотрите также

  • метод all,
    который возвращает все данные запроса в виде массива
  • метод only,
    который возвращает только указанные поля из запроса
  • метод has,
    который проверяет наличие поля в запросе
  • метод json,
    который получает данные из JSON-запроса
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить