Tutorial ini memperluaskan pada ansuran sebelumnya, memberi tumpuan kepada membina perpustakaan klien API DiffBot yang mantap dan baik menggunakan PHPUNIT dan TDD (Pembangunan yang didorong oleh Ujian). Bahagian sebelumnya meliputi fungsi asas dan ujian kelas abstrak. Bahagian ini menyelidiki data mengejek, corak kilang, dan pengurusan entiti untuk kecekapan dan kebolehkerjaan yang lebih baik.
Penambahbaikan utama:
Diffbot
Entity
kelas diperkenalkan untuk mengendalikan respons API. Ini membolehkan pemprosesan fleksibel dan boleh ditukar ganti jenis data yang berbeza, meningkatkan kebolehsuaian perpustakaan. EntityFactory
curl
Butiran pelaksanaan:
Kelas abstrak dikemas kini untuk memasukkan kaedah Api
, yang membolehkan subkelas API untuk mengakses contoh induk registerDiffbot
untuk klien token dan HTTP. Kelas Diffbot
dipertingkatkan dengan kaedah untuk menetapkan dan mengambil semula klien HTTP (Diffbot
), dan untuk membuat contoh subkelas API tertentu (produk, artikel, imej, menganalisis). GuzzleHttpClient
dan antara muka Entity
. EntityFactory
(dilaksanakan oleh kelas EntityFactory
) mewujudkan objek entiti yang sesuai (mis., Entity
, Product
, Article
) berdasarkan tindak balas API. Ini membolehkan pengendalian tersuai jenis data yang berbeza. Contoh entiti Image
ditunjukkan, menunjukkan cara mengakses data yang dihuraikan dari respons. Product
kaedah buildUrl
diperkenalkan dalam kelas abstrak Api
untuk membina URL API, termasuk medan tersuai. Ujian unit disediakan untuk mengesahkan fungsinya. Kaedah call
dalam kelas abstrak Api
menggunakan klien HTTP dan entiti contoh Diffbot
untuk membuat panggilan API dan mengembalikan objek entiti yang sesuai.
Ujian:
Tutorial menyediakan contoh ProductApiTest
yang menunjukkan cara menggunakan respons mengejek dengan Guzzle dan PHPUnit untuk menguji kaedah call
. Arahan diberikan untuk membuat fail tindak balas mengejek menggunakan curl
.
Langkah -langkah seterusnya:
Tutorial disimpulkan dengan menggalakkan pembaca untuk melaksanakan entiti dan ujian yang selebihnya, menekankan manfaat jangka panjang ujian menyeluruh. Bahagian akhir akan meliputi pembungkusan dan penempatan ke packagist.org.Atas ialah kandungan terperinci API pelanggan TDD dengan respons yang dihina. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!