получить ответ json из моего PHP API в моем приложении laravel

#php #arrays #json #laravel

#php #массивы #json #laravel

Вопрос:

Я отправляю данные с помощью HTTP-клиента Laravel в практический PHP API. мой код Laravel:

         $p = 'img.jpg';

        $path = storage_path('app' . DIRECTORY_SEPARATOR . 'public' . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . $p);
        $response = Http::attach('new_file', file_get_contents($path), 'new_file.jpg')->post('http://localhost/imageresizer/service.php',
            ['sizes[0][new_width]' => 400, 'sizes[0][new_height]' => 200, 'sizes[1][new_width]' => 300, 'sizes[1][new_height]' => 500]);

        $json = json_decode($response);

        dd($json);
 

и у меня есть это в моих php-скриптах:

     $response = [
        'status' => http_response_code(),
        'zip name' => basename($zipname),
        'link' => 'http://localhost/imageresizer/zip/' . basename($zipname)
    ];
    header("Content-Type: application/json");
    echo json_encode($response);
 

Я хочу получить доступ к каждому значению из ключей $response в моем PHP API, но у меня не получается. Как я могу это сделать? (текущий результат для dd($json); равен null). Я хочу сделать что-то вроде $json->$response['status']; в моем приложении Laravel.

Ответ №1:

Вы должны использовать response() функцию для отправки запрошенных данных;

 return response()->json(['data' => $dataToBeSent], 200);
 

Вы можете использовать приведенный выше код в конце этой функции.
Вы можете увидеть полную информацию в этом официальном документе