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

Метод asForm

Метод asForm применяется к HTTP-клиенту Laravel и указывает, что данные запроса должны быть отправлены в формате application/x-www-form-urlencoded. Этот формат используется по умолчанию при отправке данных через HTML-формы. Метод не принимает параметров и возвращает тот же экземпляр клиента для цепочки вызовов.

Синтаксис

<?php use Illuminate\Support\Facades\Http; $response = Http::asForm()->post($url, $data); ?>

Пример

Отправим POST-запрос на внешний API с данными в формате формы:

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\Http; class ApiController extends Controller { public function sendData() { $data = [ 'name' => 'John', 'email' => 'john@example.com', 'age' => 30 ]; $response = Http::asForm() ->post('https://api.example.com/users', $data); return $response->json(); } } ?>

Результат выполнения кода:

["status" => "success", "message" => "User created"]

Пример

Отправим PUT-запрос для обновления данных в формате формы:

<?php namespace App\Http\Controllers; use Illuminate\Support\Facades\Http; class UserController extends Controller { public function updateUser($id) { $data = [ 'name' => 'Jane', 'email' => 'jane@example.com' ]; $response = Http::asForm() ->put("https://api.example.com/users/{$id}", $data); if ($response->successful()) { return $response->json(); } return ['error' => 'Update failed']; } } ?>

Результат выполнения кода:

["id" => 1, "name" => "Jane", "email" => "jane@example.com"]

Пример

Используем метод asForm вместе с другими методами HTTP-клиента:

<?php namespace App\Http\Controllers; use Illuminate\Support\Facades\Http; class FormController extends Controller { public function submitForm() { $res = Http::asForm() ->withHeaders([ 'X-Custom-Header' => 'CustomValue' ]) ->timeout(30) ->post('https://api.example.com/submit', [ 'field1' => 'value1', 'field2' => 'value2', 'field3' => 'value3' ]); if ($res->successful()) { return $res->object(); } return ['error' => 'Request failed']; } } ?>

Результат выполнения кода:

{"status":"ok","data":{"field1":"value1","field2":"value2","field3":"value3"}}

Пример

Отправим DELETE-запрос с параметрами в формате формы:

<?php namespace App\Http\Controllers; use Illuminate\Support\Facades\Http; class DeleteController extends Controller { public function deleteItems() { $params = [ 'ids' => [1, 2, 3, 4, 5] ]; $response = Http::asForm() ->delete('https://api.example.com/items', $params); if ($response->failed()) { return ['error' => 'Deletion failed']; } return ['success' => 'Items deleted']; } } ?>

Результат выполнения кода:

["success" => "Items deleted"]

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

  • метод asJson,
    который отправляет данные в формате JSON
  • метод withHeaders,
    который добавляет заголовки к запросу
  • метод post,
    который выполняет POST-запрос
  • метод timeout,
    который устанавливает таймаут для запроса
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить