Метод put
Метод put применяется к экземпляру класса Http
и отправляет HTTP-запрос с методом PUT на указанный URL.
Первым параметром передаётся URL-адрес, вторым - массив данных
для отправки в теле запроса. Метод возвращает экземпляр
Response, с помощью которого можно получить ответ
от сервера.
Синтаксис
<?php
use Illuminate\Support\Facades\Http;
Http::put($url, $data);
?>
Пример
Давайте отправим PUT-запрос на обновление статьи с id равным 1:
<?php
use Illuminate\Support\Facades\Http;
$res = Http::put('https://api.example.com/articles/1', [
'title' => 'Updated title',
'content' => 'Updated content'
]);
echo $res->status();
?>
Результат выполнения кода:
"200"
Пример
Давайте отправим PUT-запрос с заголовками и получим тело ответа в виде массива:
<?php
use Illuminate\Support\Facades\Http;
$res = Http::withHeaders([
'X-API-Key' => 'your-api-key',
'Accept' => 'application/json'
])->put('https://api.example.com/users/5', [
'name' => 'New name',
'email' => 'new@email.com'
]);
$data = $res->json();
foreach ($data as $key => $value) {
echo $key . ': ' . $value;
}
?>
Результат выполнения кода:
"id: 5"
"name: New name"
"email: new@email.com"
"updated_at: 2026-09-07 12:00:00"
Пример
Давайте отправим PUT-запрос с базовой аутентификацией и проверим успешность ответа:
<?php
use Illuminate\Support\Facades\Http;
$res = Http::withBasicAuth('admin', 'secret')
->put('https://api.example.com/products/10', [
'price' => 99.99,
'stock' => 50
]);
if ($res->successful()) {
echo 'Update successful';
} else {
echo 'Update failed';
}
?>
Результат выполнения кода:
"Update successful"
Пример
Давайте используем метод put в контроллере для отправки запроса к внешнему API:
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\Http;
use Illuminate\Http\Request;
class ArticleController extends Controller
{
public function update(Request $request, $id)
{
$res = Http::put('https://api.example.com/articles/' . $id, [
'title' => $request->input('title'),
'content' => $request->input('content'),
'status' => $request->input('status')
]);
if ($res->successful()) {
return response()->json([
'message' => 'Article updated',
'data' => $res->json()
]);
}
return response()->json([
'message' => 'Update failed'
], $res->status());
}
}
?>