Cách nhận phản hồi từ api trong php

Các yêu cầu HTTP là một đặc điểm nổi bật của các ứng dụng dựa trên web, hiện đại—đặc biệt là trong PHP. Chúng tôi phải tương tác với tất cả các loại API và dịch vụ bên ngoài, chẳng hạn như Google Cloud, Facebook và AWS, gần như hàng ngày. Tôi muốn nói rằng nó có thể là một trong những điều đầu tiên bạn học được sau khi bạn đã thành thạo nền tảng của PHP. nó dành cho tôi

Điều đó nói rằng, giống như nhiều ngôn ngữ phát triển phần mềm hiện đại, có nhiều cách để thực hiện các yêu cầu HTTP. Vì vậy, trong bài đăng này, tôi sẽ giới thiệu cho bạn năm tùy chọn phổ biến nhất để tạo chúng trong PHP. Tôi sẽ chỉ cách sử dụng chúng và đề cập đến một số điểm mạnh và điểm yếu tương ứng của chúng. Tôi sẽ không khám phá chúng một cách chi tiết, thay vào đó sẽ giới thiệu rộng rãi về từng thứ

Các cách tiếp cận mà tôi sẽ đề cập là

  • Trình bao bọc luồng HTTP/s của PHP
  • Phần mở rộng cURL của PHP
  • GuzzleHttp
  • Httpful
  • Máy khách HTTP của Symfony

Với mỗi cái, chúng ta sẽ xem qua một ví dụ mã sẽ tải xuống tuyển chọn 10 hình ảnh của Vườn quốc gia Kakadu [ở Úc] bằng cách sử dụng API của Flickr, chẳng hạn như hình bên dưới

“Hoàng hôn trên vùng nước màu vàng Billabong, Công viên quốc gia Kakadu, NT, Úc” của Geoff Whalan, được cấp phép theo CC BY-NC-ND 2. 0

điều kiện tiên quyết

Để hoàn thành hướng dẫn, bạn sẽ cần những thứ sau

  • PHP7. 4 hoặc mới hơn [lý tưởng là phiên bản 8] với các tiện ích mở rộng cURL và OpenSSL được cài đặt và bật, đồng thời bật cài đặt thời gian chạy allow_url_fopen
  • Trình soạn nhạc được cài đặt trên toàn cầu
  • Git [cần thiết để Composer hoạt động đầy đủ]
  • tiếng kêu
  • Tài khoản Flickr và khóa API Flickr

Trước khi chúng tôi bắt đầu

Trong suốt hướng dẫn này, chúng ta sẽ tạo năm tập lệnh PHP, tuy nhiên, trước khi bắt đầu, chúng ta cần thực hiện một số điều

  • Tạo một thư mục dự án
  • Cài đặt PHP dotenv
  • Thêm khóa API Flickr của chúng tôi vào một. env để chúng tôi không vô tình lưu trữ nó trong mã ví dụ

Để hoàn thành hai lệnh đầu tiên, hãy chạy ba lệnh bên dưới

mkdir -p php-http/photos
cd php-http
composer require vlucas/phpdotenv

Tiếp theo, trong thư mục dự án, tạo một tệp mới có tên. env và trong tệp đó, hãy chèn mã bên dưới. Thay thế trình giữ chỗ,

API_KEY=
4, bằng khóa API Flickr của bạn

API_KEY=

Với điều đó, chúng tôi đã sẵn sàng để bắt đầu

Chức năng & tiện ích mở rộng PHP cốt lõi

Hãy bắt đầu với các tùy chọn có sẵn như một phần của chức năng cốt lõi và tiện ích mở rộng của PHP

Trình bao bọc luồng HTTP/S

Trích dẫn hướng dẫn sử dụng PHP

Cho phép truy cập chỉ đọc vào tệp/tài nguyên qua HTTP 1. 0, sử dụng phương thức HTTP GET. Tiêu đề
API_KEY=
5 được gửi cùng với yêu cầu xử lý máy chủ ảo dựa trên tên. Nếu bạn đã định cấu hình chuỗi user_agent bằng php của mình. ini hoặc bối cảnh luồng, nó cũng sẽ được đưa vào yêu cầu

Vì các luồng là một phần cốt lõi của PHP, bạn không cần phải làm gì nhiều để tận dụng chức năng của chúng. Hơn nữa, chúng tích hợp với nhiều chức năng cốt lõi của PHP, chẳng hạn như fopen và file_get_contents. Do đó, bạn không cần cài đặt thư viện của bên thứ ba hoặc tiện ích mở rộng tùy chỉnh để bắt đầu sử dụng nó

Mặt khác, chúng không có giao diện trực quan cũng như các phương thức tiện ích của trình trợ giúp mà các thư viện bên thứ ba như GuzzleHttp và ứng dụng khách HTTP của Symfony có. Ngoài ra, nó

  • Chỉ hỗ trợ đọc [NHẬN] không ghi [POST, PUT và DELETE], các yêu cầu
  • Chỉ hỗ trợ một số tùy chọn ngữ cảnh hạn chế, chẳng hạn như tác nhân người dùng, chuyển hướng, tiêu đề, thời gian chờ và proxy. Điều đó nói rằng, bạn có thể làm khá nhiều với những

Ghi chú. Tùy thuộc vào trường hợp sử dụng của bạn, bị giới hạn ở HTTP/1. 0 có thể là một vấn đề. Tuy nhiên, trong năm ví dụ trong hướng dẫn này, nó không phải là. Nếu bạn muốn tìm hiểu thêm về sự khác biệt giữa HTTP 1. 0, 1. 1. và 2, hãy xem bài đăng xuất sắc này từ Digital Ocean

Điều đó nói rằng, bạn có thể bắt đầu và chạy nó khá nhanh. Hãy xem qua một ví dụ về cách thực hiện. Trong thư mục php-http, tạo một tệp PHP trống có tên http-stream. php và trong đó, dán mã bên dưới

Chủ Đề