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

Метод object

Метод object применяется к объекту ответа, возвращаемому HTTP-клиентом Laravel. Он позволяет преобразовать тело ответа в объект stdClass, что удобно при работе с JSON-данными. Метод не принимает параметров и возвращает объект. Если тело ответа не является валидным JSON, метод выбросит исключение.

Синтаксис

<?php $res = Http::get($url)->object(); ?>

Пример

Получим данные пользователя из внешнего API и преобразуем их в объект:

<?php namespace AppHttpControllers; use IlluminateHttpRequest; use IlluminateSupportFacadesHttp; use IlluminateHttpClientRequestException; class UserController extends Controller { public function getUserData() { try { $response = Http::get('https://api.example.com/users/1'); $user = $response->object(); echo $user->name; echo $user->email; } catch (RequestException $e) { echo "Error: " . $e->getMessage(); } } } ?>

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

"John Doe" "john@example.com"

Пример

Обработаем вложенные данные, полученные в виде объекта:

<?php namespace AppHttpControllers; use IlluminateSupportFacadesHttp; use IlluminateHttpClientRequestException; class PostController extends Controller { public function showPosts() { try { $response = Http::get('https://api.example.com/posts'); $posts = $response->object(); foreach ($posts as $post) { echo $post->title; echo $post->body; echo $post->user->name; } } catch (RequestException $e) { echo "Error: " . $e->getMessage(); } } } ?>

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

"Post 1" "Body of post 1" "User 1" "Post 2" "Body of post 2" "User 2"

Пример

Обратите внимание, что метод object вернет массив объектов для списка данных:

<?php namespace AppHttpControllers; use IlluminateSupportFacadesHttp; use IlluminateHttpClientRequestException; class DataController extends Controller { public function getData() { try { $response = Http::get('https://api.example.com/items'); $items = $response->object(); if (is_array($items)) { echo "Count: " . count($items); } } catch (RequestException $e) { echo "Error: " . $e->getMessage(); } } } ?>

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

"Count: 5"

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

  • метод json,
    который преобразует ответ в ассоциативный массив
  • метод body,
    который возвращает тело ответа в виде строки
  • метод collect,
    который преобразует ответ в коллекцию Laravel
  • метод status,
    который возвращает HTTP-статус ответа
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить