API (Application Program Interface) adalah cara yang disepakati untuk mengirim dan menerima data antar komputer. Misalnya, jika Anda ingin menampilkan Google Maps di situs Anda, tetapi petanya ada di server Google, Anda memerlukan cara untuk meminta Google menyediakan peta tersebut untuk Anda. Cara untuk meminta Google mengirimkan peta yang diminta kepada Anda adalah melalui API yang disediakan oleh Google yang memberi tahu Anda ke alamat web mana Anda harus mengirim permintaan untuk mendapatkan data. Dalam bahasa yang lebih formal, Anda perlu mengirimkan permintaan ke server jarak jauh untuk mendapatkan tanggapan Show
REST (Representational State Transfer) adalah API yang mendefinisikan sekumpulan fungsi yang dapat digunakan pemrogram untuk mengirim permintaan dan menerima respons menggunakan metode protokol HTTP seperti GET dan POST REST API dapat digunakan oleh situs atau aplikasi apa pun tidak peduli bahasa apa yang ditulisnya karena permintaan didasarkan pada protokol HTTP universal, dan informasi biasanya dikembalikan dalam format JSON yang dapat dibaca oleh hampir semua bahasa pemrograman # Protokol HTTPJika Anda pernah menggunakan internet, Anda pasti tahu cara kerjanya. Ini mengirimkan permintaan dari komputer pribadi Anda dan menerima kembali data dari server jarak jauh. Itulah internet secara singkat. Dan itu layak karena semua komputer yang menggunakan internet berbicara dalam bahasa yang sama, protokol yang sama dengan nama HTTP HTTP adalah protokol yang menjadi dasar internet. Ini memungkinkan komputer dari mana saja di dunia untuk mengirim permintaan ke server jarak jauh, dan mendapatkan kembali respons yang dapat ditampilkan di browser Misalnya, untuk membuat artikel baru di blog kita, kita harus mengirim permintaan ke server jarak jauh menggunakan metode HTTP POST. Untuk melihat satu artikel atau daftar artikel, kami menggunakan metode GET. Metode PUT dapat digunakan untuk mengedit artikel yang sudah ada, dan metode DELETE untuk menghapus Tabel berikut merangkum 4 metode protokol HTTP yang paling berguna DAPATKAN Mengambil data dari server jauh. Itu bisa berupa satu sumber daya atau daftar sumber daya POS Membuat sumber daya baru di server jarak jauh. * MELETAKKAN Memperbarui data di server jarak jauh MENGHAPUS Menghapus data dari server jarak jauh * Beberapa API menggunakan metode POST untuk melakukan perubahan apa pun pada database. Membuat, memperbarui, atau menghapus
# Kode status HTTPMungkin metadata paling penting yang dikirimkan di bagian atas respons adalah kode status HTTP. Misalnya, kode 404 untuk menunjukkan bahwa sumber daya tidak ada, dan kode 200 untuk menyatakan bahwa sumber daya ada dan data yang diminta dikembalikan dalam badan tanggapan Kode status dapat dibagi ke dalam kelompok-kelompok ini Kelas 2XX (200, 201, 204) menunjukkan bahwa data diterima dan operasi dilakukan Kelas 3XX (301, 302) mengalihkan permintaan ke URL lain Kelas 4XX (403, 404) menunjukkan bahwa sumber daya tidak ditemukan atau tidak tersedia untuk klien REST telah menjadi standar de facto dalam hal mengekspos data melalui API dan membangun layanan web. Faktanya, sebagian besar aplikasi web saat ini mengakses dan memaparkan data melalui REST API. Dengan popularitas framework front-end yang dapat menggunakan REST API dengan mudah, akan selalu menjadi nilai tambah bagi Anda jika aplikasi web Anda menampilkan REST API Pada artikel ini, kami akan membuat aplikasi demo sederhana, yang memungkinkan Anda mengambil daftar pengguna dari database MySQL melalui titik akhir REST Menyiapkan KerangkaDi bagian ini, kita akan membahas struktur proyek secara singkat Mari kita lihat struktur berikut 1 ├── Controller____ 2 │ └── Api 3 │ ├── BaseController.php 4 │ └── UserController.php 5 ├── inc___________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________g EXGE Mari kita coba memahami struktur proyek
Jadi itulah pengaturan dasar yang akan kami terapkan di sisa postingan ini Buat Database dan Kelas ModelDi bagian ini, kita akan membuat database dan tabel pengguna. Kami juga akan membuat kelas model yang diperlukan yang akan digunakan untuk mengambil pengguna dari database Buat Database dan Tabel PenggunaBuat database 3_64 dengan menjalankan perintah berikut di terminal MySQL Anda. (Akses ini dengan perintah 3_65 dari baris perintah. ) 1 2_3 Anda juga bisa menggunakan alat seperti phpMyAdmin jika Anda lebih suka bekerja dengan database Anda seperti itu Setelah database 3_64 dibuat, lanjutkan dan buat tabel 367 dengan menjalankan pernyataan berikut 1 25 2 27 3 29 4 │ └── Api1 5 │ └── Api3 ├── Controller0 │ └── Api5 ├── Controller2________3______7_______1______4________3______9 Itu harus membuat tabel 3_67 di database 364. Anda juga ingin mengisi tabel ini dengan beberapa catatan dummy untuk tujuan pengujian. Masukkan beberapa catatan, dan Anda siap melakukannya Buat Kelas ModelDi bagian ini, kami akan membuat kelas model yang diperlukan Buat Model/Database. php dengan isi sebagai berikut 1 31 2 33 3 35 4 37 5 ├── Controller0 │ ├── BaseController.php0 ├── Controller2 │ ├── BaseController.php2 ├── Controller4 │ ├── BaseController.php4 ├── Controller6 │ ├── BaseController.php6 ├── Controller8 │ ├── BaseController.php8 20 40 41 42 43 44 45 46 47 48 49 │ └── UserController.php0 │ └── UserController.php1 │ └── UserController.php2 │ └── UserController.php3 │ └── UserController.php4 │ └── UserController.php5 │ └── UserController.php6 │ ├── BaseController.php2 │ └── UserController.php8 │ ├── BaseController.php4 50 51 52 53 54 55 56 57 58 59 ├── inc0 ├── inc1 ├── inc2 ├── inc3 ├── inc4 ├── inc5 ├── inc6 ├── inc7 │ └── UserController.php2__ Ini adalah kelas lapisan akses database, yang memungkinkan kita mengatur koneksi ke database MySQL. Terlepas dari pengaturan koneksi, ini berisi metode umum seperti 370 dan 371 yang memungkinkan kita memilih record dari database. Kami tidak akan menggunakan kelas 3_72 secara langsung; Selanjutnya, mari buat Model/UserModel. php dengan isi sebagai berikut 1 31___________________ ├── Controller41 3 4 ├── Controller44 5___________________________________________________________________________________________________________________________________________________________________________________________________________________________________g EX Penting untuk dicatat bahwa kelas 3_74 memperluas kelas 372 Selain itu, ini berisi metode 3_76, yang memungkinkan kita untuk memilih pengguna dari database MySQL. Itu wajib untuk melewati 377 parameter, yang memastikan bahwa itu tidak akan memilih semua catatan sekaligus Tentu saja, Anda dapat mendefinisikan lebih banyak metode di kelas ________4______74 sesuai kebutuhan Anda. Kami akan menjaga hal-hal sederhana dalam konteks tutorial ini Jadi sekarang kita telah menyiapkan database dan kelas model kita. Di bagian selanjutnya, kita akan melihat cara membuat pengontrol dan file lainnya di aplikasi demo kita Buat Komponen Lapisan AplikasiDi bagian ini, kami akan membuat file yang tersisa yang diperlukan agar aplikasi demo kami berfungsi Direktori incSebagai permulaan, kami akan membuat file konfigurasi yang diperlukan Buat file inc/config. php dengan isi sebagai berikut 1 31 2 ├── Controller60 3 ├── Controller62 4 ├── Controller64 5 ├── Controller66 Pastikan untuk memperbarui semua nilai dengan yang sebenarnya yang Anda gunakan dalam instalasi Anda Selanjutnya, lanjutkan dan buat file inc/bootstrap. php dengan isi sebagai berikut 1 31 2 ├── Controller70 3 4 ├── Controller73 5 ├── Controller75 ├── Controller0 ├── Controller2 ├── Controller78 ├── Controller4 ├── Controller80 ├── Controller6 ├── Controller8 ├── Controller83 20 ├── Controller85 41 ├── Controller87 Pertama, kami telah menginisialisasi konstanta 379 dengan root direktori aplikasi kami. Dengan cara ini, kita dapat menggunakan konstanta 3_79 untuk menyiapkan jalur absolut dalam aplikasi kita. Selanjutnya, kami telah menyertakan konfigurasi. php, yang menyimpan informasi koneksi database. Terakhir, kami menyertakan file pengontrol dan model Jadi itu saja untuk mengatur file-file umum di aplikasi kita Direktori PengontrolDi bagian ini, kami akan menerapkan pengontrol yang menyimpan sebagian besar logika aplikasi kami BaseController. File phpBuat Controller/Api/BaseController. php dengan isi sebagai berikut. Kelas 381 berisi metode utilitas yang digunakan oleh pengontrol lain 1 31 2 ├── Controller91 3 35 4 ├── Controller95 5 ├── Controller97 ├── Controller0 ├── Controller99 ├── Controller2 201 ├── Controller4 │ ├── BaseController.php2 ├── Controller6 205 ├── Controller8 │ └── UserController.php2 20 41 ├── Controller95 43 212 45 214 47 216 49 ├── Controller99 │ └── UserController.php1 220 │ └── UserController.php3 │ ├── BaseController.php2 │ └── UserController.php4 224 │ └── UserController.php6 226 │ └── UserController.php8 50 229 52 │ └── UserController.php2 54 56 ├── Controller95 57 236 59 214 ├── inc1 216 ├── inc3 ├── Controller99 ├── inc5 244________9______ Mari kita bahas semua metode kelas 3_81 dengan cepat Metode 383 adalah metode ajaib, dan ini dipanggil saat Anda mencoba memanggil metode yang tidak ada. Kami menggunakan kesempatan ini untuk menampilkan kesalahan 384 saat seseorang mencoba memanggil metode yang belum kami terapkan. Jika ini terdengar membingungkan bagi Anda, jangan khawatir—ini akan lebih masuk akal saat kami menguji aplikasi kami di bagian berikutnya Selanjutnya, ada metode 3_85, yang mengembalikan larik segmen URI. Ini berguna saat kami mencoba memvalidasi titik akhir REST yang dipanggil oleh pengguna. Setelah itu, ada metode 3_86, yang mengembalikan larik variabel string kueri yang diteruskan bersama dengan permintaan yang masuk Terakhir, ada metode 387, yang digunakan untuk mengirim respons API. Kami akan memanggil metode ini ketika kami ingin mengirim respons API ke pengguna UserController. File phpSelanjutnya, buat Controller/Api/UserController. php dengan isi sebagai berikut 1 31 2 293 3 35 4 ├── Controller95 5 299 ├── Controller0 ├── Controller99 ├── Controller2 │ └── Api03 ├── Controller4 │ ├── BaseController.php2 ├── Controller6 │ └── Api07 ├── Controller8 │ └── Api09 20 │ └── Api11 41 43 │ └── Api14 45 │ └── Api16 47 │ └── Api18 49 │ └── UserController.php1 │ └── Api21 │ └── UserController.php3 │ └── Api23 │ └── UserController.php4 │ └── Api25 │ └── UserController.php6 │ └── Api27 │ └── UserController.php8 50 │ └── Api30 52 │ └── Api32 54 │ └── Api34 56 │ └── Api36 57 │ └── Api38 59 44 ├── inc1 │ └── Api42 ├── inc3 │ └── Api44 ├── inc5 │ └── Api46________9____ Penting untuk dicatat bahwa kelas 3_88 memperluas kelas 381. Idealnya, kelas ini berisi metode tindakan yang terkait dengan titik akhir REST yang ditentukan untuk entitas pengguna. Dalam kasus kami, misalnya, titik akhir 390 REST sesuai dengan metode 391. Dengan cara ini, Anda juga dapat menentukan metode lain untuk titik akhir REST lainnya Metode ________4______91 digunakan untuk mendapatkan daftar pengguna dari database MySQL. Ini berisi seluruh logika titik akhir 3_90 REST Dalam metode 3_91, kami telah menginisialisasi beberapa variabel seperti 395 dan 396 di tempat pertama. Selanjutnya, kami memeriksa apakah pengguna telah memanggil titik akhir 397 dengan metode 398; . Terakhir, kita membuat objek 3_74 dan memanggil metode 376 untuk mengambil daftar pengguna dari database. Kami juga telah menggunakan fungsi │ ├── BaseController.php_01 untuk mengonversi array menjadi objek JSON sebelum dikirim ke pengguna Terakhir, kami telah menggunakan metode 3_87 untuk mengirim respons JSON ke pengguna. Penting untuk diperhatikan bahwa nilai tajuk tipe konten respons disetel ke │ ├── BaseController.php03 karena kami mengirimkan respons JSON Demikian pula, Anda juga dapat menentukan metode lain untuk titik akhir lainnya Indeks. File phpIndeks. File php adalah entry-point dari aplikasi kita. Mari kita lihat tampilannya 1 31 2 │ └── Api79 3 4 │ └── Api82 5 │ └── Api84 ├── Controller0 ├── Controller2 │ └── Api87 ├── Controller4 │ └── Api89 ├── Controller6 │ └── Api91 ├── Controller8 ├── Controller37 20 41 │ └── Api96 43 45 │ └── Api99 47 301 49 303 │ └── UserController.php1 ├── Controller87 Pertama, kami telah menggunakan fungsi │ ├── BaseController.php_04 dan │ ├── BaseController.php05 untuk menginisialisasi segmen URI ke dalam variabel array │ ├── BaseController.php06. Selanjutnya, kami memvalidasi segmen URI. Terakhir, kami telah menginisialisasi pengontrol 3_88 dan memanggil metode tindakan yang sesuai Dengan itu, kami telah membuat semua file yang diperlukan dalam aplikasi demo REST kami. Di bagian selanjutnya, kita akan melihat cara memanggilnya dari perspektif pengguna akhir Cara Memanggil REST API KamiDi bagian ini, kita akan melihat cara memanggil aplikasi demo Anda. Dalam aplikasi kami, kami telah membuat titik akhir REST untuk mendapatkan daftar pengguna Mari kita lihat bagaimana tampilan URL endpoint kita 1 307 2 309 Jika Anda ingat index. php, kami memeriksa apakah variabel │ ├── BaseController.php_08 disetel ke │ ├── BaseController.php09. Juga, nilai variabel │ ├── BaseController.php_10 akan bertindak sebagai nama metode. Dalam kasus di atas, variabel │ ├── BaseController.php10 disetel ke │ ├── BaseController.php12. Dengan demikian, itu akan berakhir dengan memanggil metode 3_91 dari kelas 388 Outputnya akan terlihat seperti ini 1 311 2 313 3 315 4 317 5 319 ├── Controller0 321 ├── Controller2 323 ├── Controller4 313 ├── Controller6 327 ├── Controller8 329 20 331 41 333 43 323 45 313 47 339 49 341 │ └── UserController.php1 343 │ └── UserController.php3 333 │ └── UserController.php4 323 │ └── UserController.php6 313 │ └── UserController.php8 351 50 353 52 355 54 321 56 359 57 361 Seperti yang Anda lihat, ini mengembalikan daftar pengguna sebagai objek JSON. Selain itu, jika ada kesalahan aplikasi, itu akan dikembalikan sebagai objek JSON juga untuk keperluan debugging KesimpulanHari ini, kami membahas bagaimana Anda dapat membuat aplikasi REST dengan PHP dan MySQL. Untuk tujuan demonstrasi, kami membuat aplikasi demo yang memungkinkan Anda mengambil daftar pengguna dari database MySQL melalui REST API Apa arti API dalam PHP?API singkatan dari Antarmuka Pemrograman Aplikasi .
Apa itu API dengan contoh?Contoh API web. YouTube API memungkinkan pengembang untuk mengintegrasikan video dan fungsionalitas YouTube ke dalam situs web atau aplikasi. Twitter menawarkan dua API. REST API membantu pengembang mengakses data Twitter, dan API pencarian menyediakan metode bagi pengembang untuk berinteraksi dengan Pencarian Twitter
Bagaimana kita bisa menggunakan API di PHP?Cara Menggunakan API dengan PHP (Panduan Pemula Lengkap) . Buat Permintaan POST Buat Permintaan GET Lakukan Permintaan PUT Metode HAPUS Ulangi permintaan GET dan periksa apakah data benar-benar dihapus Untuk apa API digunakan?Banyak orang bertanya pada diri sendiri, “Apa itu API?” . API adalah cara yang dapat diakses untuk mengekstrak dan berbagi data di dalam dan di seluruh organisasi |