Apa itu api di php.ini

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

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

Apa itu api di php.ini

# Protokol HTTP

Jika 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 HTTP

Mungkin 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 Kerangka

Di 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

  • indeks. php. titik masuk aplikasi kita. Ini akan bertindak sebagai front-controller dari aplikasi kita
  • inc/config.inc/config. php. menyimpan informasi konfigurasi aplikasi kita. Terutama, itu akan menyimpan kredensial database
  • inc/bootstrap. php. digunakan untuk mem-bootstrap aplikasi kita dengan memasukkan file-file yang diperlukan
  • Model/Database. php. lapisan akses basis data yang akan digunakan untuk berinteraksi dengan basis data MySQL yang mendasarinya
  • Model/Model Pengguna. php. file model
    3
    _62 yang mengimplementasikan metode yang diperlukan untuk berinteraksi dengan tabel pengguna di database MySQL
  • Pengontrol/Api/Pengontrol Dasar. php. file pengontrol dasar yang menyimpan metode utilitas umum
  • Pengontrol/Api/Pengontrol Pengguna. php. file pengontrol
    3
    _62 yang menyimpan kode aplikasi yang diperlukan untuk menghibur panggilan REST API

Jadi itulah pengaturan dasar yang akan kami terapkan di sisa postingan ini

Buat Database dan Kelas Model

Di 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 Pengguna

Buat 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
3
67 dengan menjalankan pernyataan berikut

1
2
5
2
2
7
3
2
9
4
│   └── Api
1
5
│   └── Api
3
├── Controller
0
│   └── Api
5
├── Controller
2________3______7_______1______4________3______9

Itu harus membuat tabel

3
_67 di database
3
64. Anda juga ingin mengisi tabel ini dengan beberapa catatan dummy untuk tujuan pengujian. Masukkan beberapa catatan, dan Anda siap melakukannya

Buat Kelas Model

Di bagian ini, kami akan membuat kelas model yang diperlukan

Buat Model/Database. php dengan isi sebagai berikut

1
3
1
2
3
3
3
3
5
4
3
7
5
├── Controller
0
│       ├── BaseController.php
0
├── Controller
2
│       ├── BaseController.php
2
├── Controller
4
│       ├── BaseController.php
4
├── Controller
6
│       ├── BaseController.php
6
├── Controller
8
│       ├── BaseController.php
8
2
0
4
0
4
1
4
2
4
3
4
4
4
5
4
6
4
7
4
8
4
9
│       └── UserController.php
0
│       └── UserController.php
1
│       └── UserController.php
2
│       └── UserController.php
3
│       └── UserController.php
4
│       └── UserController.php
5
│       └── UserController.php
6
│       ├── BaseController.php
2
│       └── UserController.php
8
│       ├── BaseController.php
4
5
0
5
1
5
2
5
3
5
4
5
5
5
6
5
7
5
8
5
9
├── inc
0
├── inc
1
├── inc
2
├── inc
3
├── inc
4
├── inc
5
├── inc
6
├── inc
7
│       └── UserController.php
2__

Ini adalah kelas lapisan akses database, yang memungkinkan kita mengatur koneksi ke database MySQL. Terlepas dari pengaturan koneksi, ini berisi metode umum seperti

3
70 dan
3
71 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
3
1___________________
├── Controller
41
3
4
├── Controller
44
5
___________________________________________________________________________________________________________________________________________________________________________________________________________________________________g EX

Penting untuk dicatat bahwa kelas

3
_74 memperluas kelas
3
72

Selain itu, ini berisi metode

3
_76, yang memungkinkan kita untuk memilih pengguna dari database MySQL. Itu wajib untuk melewati
3
77 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 Aplikasi

Di bagian ini, kami akan membuat file yang tersisa yang diperlukan agar aplikasi demo kami berfungsi

Direktori inc

Sebagai permulaan, kami akan membuat file konfigurasi yang diperlukan

Buat file inc/config. php dengan isi sebagai berikut

1
3
1
2
├── Controller
60
3
├── Controller
62
4
├── Controller
64
5
├── Controller
66

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
3
1
2
├── Controller
70
3
4
├── Controller
73
5
├── Controller
75
├── Controller
0
├── Controller
2
├── Controller
78
├── Controller
4
├── Controller
80
├── Controller
6
├── Controller
8
├── Controller
83
2
0
├── Controller
85
4
1
├── Controller
87

Pertama, kami telah menginisialisasi konstanta

3
79 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 Pengontrol

Di bagian ini, kami akan menerapkan pengontrol yang menyimpan sebagian besar logika aplikasi kami

BaseController. File php

Buat Controller/Api/BaseController. php dengan isi sebagai berikut. Kelas

3
81 berisi metode utilitas yang digunakan oleh pengontrol lain

1
3
1
2
├── Controller
91
3
3
5
4
├── Controller
95
5
├── Controller
97
├── Controller
0
├── Controller
99
├── Controller
2
2
01
├── Controller
4
│       ├── BaseController.php
2
├── Controller
6
2
05
├── Controller
8
│       └── UserController.php
2
2
0
4
1
├── Controller
95
4
3
2
12
4
5
2
14
4
7
2
16
4
9
├── Controller
99
│       └── UserController.php
1
2
20
│       └── UserController.php
3
│       ├── BaseController.php
2
│       └── UserController.php
4
2
24
│       └── UserController.php
6
2
26
│       └── UserController.php
8
5
0
2
29
5
2
│       └── UserController.php
2
5
4
5
6
├── Controller
95
5
7
2
36
5
9
2
14
├── inc
1
2
16
├── inc
3
├── Controller
99
├── inc
5
2
44________9______

Mari kita bahas semua metode kelas

3
_81 dengan cepat

Metode

3
83 adalah metode ajaib, dan ini dipanggil saat Anda mencoba memanggil metode yang tidak ada. Kami menggunakan kesempatan ini untuk menampilkan kesalahan
3
84 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

3
87, yang digunakan untuk mengirim respons API. Kami akan memanggil metode ini ketika kami ingin mengirim respons API ke pengguna

UserController. File php

Selanjutnya, buat Controller/Api/UserController. php dengan isi sebagai berikut

1
3
1
2
2
93
3
3
5
4
├── Controller
95
5
2
99
├── Controller
0
├── Controller
99
├── Controller
2
│   └── Api
03
├── Controller
4
│       ├── BaseController.php
2
├── Controller
6
│   └── Api
07
├── Controller
8
│   └── Api
09
2
0
│   └── Api
11
4
1
4
3
│   └── Api
14
4
5
│   └── Api
16
4
7
│   └── Api
18
4
9
│       └── UserController.php
1
│   └── Api
21
│       └── UserController.php
3
│   └── Api
23
│       └── UserController.php
4
│   └── Api
25
│       └── UserController.php
6
│   └── Api
27
│       └── UserController.php
8
5
0
│   └── Api
30
5
2
│   └── Api
32
5
4
│   └── Api
34
5
6
│   └── Api
36
5
7
│   └── Api
38
5
9
4
4
├── inc
1
│   └── Api
42
├── inc
3
│   └── Api
44
├── inc
5
│   └── Api
46________9____

Penting untuk dicatat bahwa kelas

3
_88 memperluas kelas
3
81. Idealnya, kelas ini berisi metode tindakan yang terkait dengan titik akhir REST yang ditentukan untuk entitas pengguna. Dalam kasus kami, misalnya, titik akhir
3
90 REST sesuai dengan metode
3
91. 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
3
95 dan
3
96 di tempat pertama. Selanjutnya, kami memeriksa apakah pengguna telah memanggil titik akhir
3
97 dengan metode
3
98; . Terakhir, kita membuat objek
3
_74 dan memanggil metode
3
76 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.php
03 karena kami mengirimkan respons JSON

Demikian pula, Anda juga dapat menentukan metode lain untuk titik akhir lainnya

Indeks. File php

Indeks. File php adalah entry-point dari aplikasi kita. Mari kita lihat tampilannya

1
3
1
2
│   └── Api
79
3
4
│   └── Api
82
5
│   └── Api
84
├── Controller
0
├── Controller
2
│   └── Api
87
├── Controller
4
│   └── Api
89
├── Controller
6
│   └── Api
91
├── Controller
8
├── Controller
37
2
0
4
1
│   └── Api
96
4
3
4
5
│   └── Api
99
4
7
3
01
4
9
3
03
│       └── UserController.php
1
├── Controller
87

Pertama, kami telah menggunakan fungsi

│       ├── BaseController.php
_04 dan
│       ├── BaseController.php
05 untuk menginisialisasi segmen URI ke dalam variabel array
│       ├── BaseController.php
06. 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 Kami

Di 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
3
07
2
3
09

Jika Anda ingat index. php, kami memeriksa apakah variabel

│       ├── BaseController.php
_08 disetel ke
│       ├── BaseController.php
09. Juga, nilai variabel
│       ├── BaseController.php
_10 akan bertindak sebagai nama metode. Dalam kasus di atas, variabel
│       ├── BaseController.php
10 disetel ke
│       ├── BaseController.php
12. Dengan demikian, itu akan berakhir dengan memanggil metode
3
_91 dari kelas
3
88

Outputnya akan terlihat seperti ini

1
3
11
2
3
13
3
3
15
4
3
17
5
3
19
├── Controller
0
3
21
├── Controller
2
3
23
├── Controller
4
3
13
├── Controller
6
3
27
├── Controller
8
3
29
2
0
3
31
4
1
3
33
4
3
3
23
4
5
3
13
4
7
3
39
4
9
3
41
│       └── UserController.php
1
3
43
│       └── UserController.php
3
3
33
│       └── UserController.php
4
3
23
│       └── UserController.php
6
3
13
│       └── UserController.php
8
3
51
5
0
3
53
5
2
3
55
5
4
3
21
5
6
3
59
5
7
3
61

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

Kesimpulan

Hari 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