Request::post
Метод post класса Request применяется для получения данных, переданных методом POST. Первым параметром передаётся имя поля, вторым - значение по умолчанию, которое вернётся, если поле отсутствует. Если имя поля не указано, метод вернёт все POST-данные в виде массива.
Синтаксис
<?php
$request->post($key, $default);
?>
Пример
Давайте получим значение поля 'name' из POST-запроса:
<?php
namespace AppHttpControllers;
use IlluminateHttpRequest;
class UserController extends Controller
{
public function store(Request $request)
{
$name = $request->post('name');
echo $name;
}
}
?>
Результат выполнения кода при отправке формы с полем name=John:
"John"
Пример
Давайте получим значение поля 'age' со значением по умолчанию, если поле не передано:
<?php
namespace AppHttpControllers;
use IlluminateHttpRequest;
class UserController extends Controller
{
public function store(Request $request)
{
$age = $request->post('age', 18);
echo $age;
}
}
?>
Результат выполнения кода при отсутствии поля age:
"18"
Пример
Давайте получим все POST-данные в виде массива:
<?php
namespace AppHttpControllers;
use IlluminateHttpRequest;
class UserController extends Controller
{
public function store(Request $request)
{
$data = $request->post();
print_r($data);
}
}
?>
Результат выполнения кода при отправке формы с полями name и email:
["name" => "John", "email" => "john@example.com"]
Пример
Давайте проверим наличие поля и получим его значение:
<?php
namespace AppHttpControllers;
use IlluminateHttpRequest;
class UserController extends Controller
{
public function store(Request $request)
{
if ($request->has('phone')) {
$phone = $request->post('phone');
echo $phone;
} else {
echo "Phone not provided";
}
}
}
?>
Результат выполнения кода при отсутствии поля phone:
"Phone not provided"