Дополнительные методы форм и адресов в Laravel

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

Получение всех данных запроса

С помощью метода "all" класса Request можно получить доступ одновременно к POST и GET данным.
<?php 
   $data = $request->all();
?>

Получение части запроса

Метод "only" возвращает массив, в котором содержатся перечисленные поля формы. Причём имена поле можно передавать аргументом метода как в виде массив, так и через запятую в виде нескольких аргументов.

К примеру, если форма отправляет поля с названиями (значение атрибута "name") равными "animal" и "food", то можно запросить массив с этими данными с помощью метода "only" так:
<?php 
   $data = $request->only(['animal', 'food']);
   $data = $request->only('animal', 'food');
?>
В противоположность методу "only" существует метод "except". Он исключает данные из данных запроса. Как и в случае с "only" можно передать названия исключаемых полей через массив или несколько аргументов:
<?php 
   $data = $request->except(['animal', 'food']);
   $data = $request->except('animal', 'food');
?>

Передаваемые массивы

Иногда формы передают не одиночные значения, а целые массивы. Для этого используются квадратные скобки [ ... ] в атрибутах "name":
<form action="/mouse/result/" method="post">
   <input type="text" name="user[name]">
   <input type="text" name="user[age]">
   <input type="submit">
</form>
В таком случае для получения данных формы необходимо использовать метод "input", в котором необходимо указать название поля через точку (обращение к элементу массива):
<?php 
   $name = $request->input('user.name');
   $age = $request->input('user.age');
?>

Методы и путь запроса

Рассмотрим несколько полезных методов класса Request. Для начала - метод "path" для получения данных URI:
<?php 
   $uri = $request->path();
?>
Для проверки соответствия пути запросе заданной маске можно использовать метод "is":
<?php 
   if ($request->is('admin/*')) {
      // код для выполнения только на 
      // страницах внутри раздела admin/
   }
?>
Для получения URL запроса можно использовать одноимённый метод. А для получения полного URL можно использовать метод "fullUrl":
<?php 
   $url = $request->url();
   $fullUrl = $request->fullUrl();
?>
Чтобы одновременно получить и добавить к URL параметры можно использовать метод "fullUrlWithQuery", у которого в параметре необходимо указать добавляемые данные:
<?php 
   // страница https://www.mousedc.ru/docs/
   $url = $request->fullUrlWithQuery(['document' => 'agreement']);
   // внутри переменной $url: https://www.mousedc.ru/docs/?document=agreement
?>
MouseDC.ru - хостинг, виртуальный хостинг, покупка доменов, проверка доменов, WHOIS, курсы создания сайтов, вебинары по созданию, курсы разработки сайтов, доработка сайтов, сопровождение сайтов, разработка сайтов, техподдержка сайтов
Cмотрите другие статьи:
Была ли статья полезной?
Была ли эта статья полезна? Есть вопрос?
хостинг для сайтов
Закажите недорогой хостинг Заказать

всего от 290 руб