Jika Anda bercita-cita untuk memiliki pemahaman mendasar tentang kerangka kerja PHP, maka Anda harus memeriksa tutorial kami sebelumnya di mana kami menjelaskan Cara Membuat Aplikasi Web PHP Laravel 6 CRUD dengan MySQL
Tutorial ini akan membahas cara membangun CRUD REST API sederhana di PHP dan MySQL, Menguji PHP RESTful API dengan Postmen dan Menyiapkan lingkungan pengembangan PHP di sistem pengembangan lokal Anda dari awal
Daftar isi
Apa itu API [Antarmuka Pemrograman Aplikasi]?
API berarti Antarmuka Pemrograman Aplikasi, dan Ini adalah seperangkat rutinitas, protokol, dan alat untuk membuat aplikasi perangkat lunak. Antarmuka API memungkinkan komunikasi antara berbagai komponen perangkat lunak
Dalam pengembangan perangkat lunak, API adalah URL yang menangani data untuk aplikasi web melalui Permintaan HTTP GET, POST, UPDATE & DELETE, dan mengelola operasi CRUD
Apa itu REST API?
Representational state transfer [REST] adalah gaya arsitektur perangkat lunak yang mendefinisikan serangkaian kendala yang akan digunakan untuk membuat layanan Web. Layanan web yang sesuai dengan gaya arsitektur REST, disebut layanan Web RESTful, menyediakan interoperabilitas antara sistem komputer di Internet. Layanan Web RESTful memungkinkan sistem yang meminta untuk mengakses dan memanipulasi representasi tekstual dari sumber daya Web dengan menggunakan serangkaian operasi stateless yang seragam dan telah ditentukan sebelumnya. Jenis lain dari layanan Web, seperti layanan Web SOAP, mengekspos rangkaian operasi mereka sendiri yang sewenang-wenang
sumber. wikipedia
Struktur File Proyek PHP 8 API
Ini akan menjadi struktur file proyek PHP 8 REST API kami, kami membuat folder api, kelas dan konfigurasi untuk menyimpan API dan file konfigurasi terkait database MySQL
Anda dapat menjalankan proyek PHP Anda melalui MAMP atau WAMP, namun kami menggunakan alat baris perintah untuk memulai proyek PHP
Arahkan ke direktori tempat Anda meletakkan proyek PHP Anda
cd php-project-name
Setelah Anda berada di folder proyek, jalankan perintah berikut untuk memulai aplikasi PHP
php -S 127.0.0.1:8080
_Output berikut akan ditampilkan di layar terminal Anda
PHP 7.3.11 Development Server started at Thu May 7 13:21:35 2020
Listening on //127.0.0.1:8080
Document root is /Users/digamber/Desktop/php-rest-api
Periksa proyek Anda di url berikut. http. //127. 0. 0. 1. 8080
Konfigurasi Basis Data MySQL
Sebelum memulai, kita perlu membuat database
php -S 127.0.0.1:8080
8, baik ini dapat dilakukan melalui dua metode, Anda dapat menggunakan PhpMyAdmin, atau Anda dapat melakukannya dengan mengakses pengguna root MySQL melalui terminal atau alat baris perintah untuk membuat DatabaseKami telah menulis artikel mendetail tentang Menginstal dan Menyiapkan MySQL di aplikasi Terminal Mac
Kami mengakses pengguna root melalui baris perintah untuk membuat database
mysql -u root -p
_Buat database MySQL baru
CREATE DATABASE phpapidb;
Periksa databasenya
SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| phpapidb |
| sys |
+--------------------+
_Gunakan basis data
use phpapidb;
Setelah Anda selesai membuat database, maka Anda harus menjalankan skrip SQL untuk membuat tabel
CREATE TABLE IF NOT EXISTS `Employee` [
`id` int[11] NOT NULL AUTO_INCREMENT,
`name` varchar[256] NOT NULL,
`email` varchar[50],
`age` int[11] NOT NULL,
`designation` varchar[255] NOT NULL,
`created` datetime NOT NULL,
PRIMARY KEY [`id`]
]ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=19;
_Pastikan tabel apa yang telah Anda buat
SHOW tables;
+--------------------+
| Tables_in_phpapidb |
+--------------------+
| Employee |
+--------------------+
_Mengisi data ke dalam tabel
php -S 127.0.0.1:8080
_9INSERT INTO `Employee` [`id`, `name`, `email`, `age`, `designation`, `created`] VALUES
[1, 'John Doe', 'johndoe@gmail.com', 32, 'Data Scientist', '2012-06-01 02:12:30'],
[2, 'David Costa', 'sam.mraz1996@yahoo.com', 29, 'Apparel Patternmaker', '2013-03-03 01:20:10'],
[3, 'Todd Martell', 'liliane_hirt@gmail.com', 36, 'Accountant', '2014-09-20 03:10:25'],
[4, 'Adela Marion', 'michael2004@yahoo.com', 42, 'Shipping Manager', '2015-04-11 04:11:12'],
[5, 'Matthew Popp', 'krystel_wol7@gmail.com', 48, 'Chief Sustainability Officer', '2016-01-04 05:20:30'],
[6, 'Alan Wallin', 'neva_gutman10@hotmail.com', 37, 'Chemical Technician', '2017-01-10 06:40:10'],
[7, 'Joyce Hinze', 'davonte.maye@yahoo.com', 44, 'Transportation Planner', '2017-05-02 02:20:30'],
[8, 'Donna Andrews', 'joesph.quitz@yahoo.com', 49, 'Wind Energy Engineer', '2018-01-04 05:15:35'],
[9, 'Andrew Best', 'jeramie_roh@hotmail.com', 51, 'Geneticist', '2019-01-02 02:20:30'],
[10, 'Joel Ogle', 'summer_shanah@hotmail.com', 45, 'Space Sciences Teacher', '2020-02-01 06:22:50'];
Jika Anda menggunakan PHP dengan MySQL 8. 0+ Anda mungkin mendapatkan kesalahan ini. Server meminta metode autentikasi yang tidak diketahui klien
MySQL 8 menggunakan auth_socket sebagai plugin default, jadi aplikasi Anda mengharuskan Anda masuk ke database menggunakan kata sandi. Anda harus masuk sebagai root ke mysql dengan menggunakan skrip SQL berikut
php -S 127.0.0.1:8080
_0- Anda perlu mengganti
_0 dengan kata sandi root AndaPHP 7.3.11 Development Server started at Thu May 7 13:21:35 2020 Listening on //127.0.0.1:8080 Document root is /Users/digamber/Desktop/php-rest-api
- Jika aplikasi Anda tidak masuk ke database dengan pengguna root, ganti pengguna
1 pada perintah di atas dengan pengguna yang digunakan aplikasi AndaPHP 7.3.11 Development Server started at Thu May 7 13:21:35 2020 Listening on //127.0.0.1:8080 Document root is /Users/digamber/Desktop/php-rest-api
Membuat Koneksi Database
Kode berikut menyimpan detail database MySQL seperti nama db, nama pengguna, dan kata sandi. Itu membuat koneksi database dengan PHP menggunakan PDO
Ekstensi PHP Data Objects [PDO] menentukan antarmuka yang ringan dan konsisten untuk mengakses database dalam PHP. Setiap driver basis data yang mengimplementasikan antarmuka PDO dapat mengekspos fitur khusus basis data sebagai fungsi ekstensi biasa. Perhatikan bahwa Anda tidak dapat menjalankan fungsi basis data apa pun menggunakan ekstensi PDO dengan sendirinya;
sumber – php. bersih
Buat folder
PHP 7.3.11 Development Server started at Thu May 7 13:21:35 2020
Listening on //127.0.0.1:8080
Document root is /Users/digamber/Desktop/php-rest-api
_2 di dalam proyek API PHP, buat juga databasenya. php dan tempatkan kode berikutphp -S 127.0.0.1:8080
_1Buat Kelas PHP
Sekarang, kita akan membuat Class PHP dengan nama Employee. Kelas PHP digunakan untuk mengeksekusi Pemrograman Berorientasi Objek di PHP. Kelas PHP merangkum nilai tabel untuk Database. Kami akan menentukan nilai-nilai yang disimpan dalam bentuk variabel dalam tabel SQL
Properti tabel SQL dikaitkan dengan kelas Connection yang ditambahkan melalui kelas konstruktor
Setiap kelas objek berisi metode CRUD yang dioperasikan melalui fungsi PHP untuk melakukan operasi CREATE, READ, UPDATE & DELETE untuk baris tabel yang ditentukan
Buat kelas/karyawan. php dan tentukan metode CRUD di dalam kelas Karyawan
php -S 127.0.0.1:8080
_2Kelas Karyawan mengelola operasi CRUD
3 — Membuat koneksi database siapPHP 7.3.11 Development Server started at Thu May 7 13:21:35 2020 Listening on //127.0.0.1:8080 Document root is /Users/digamber/Desktop/php-rest-api
4 — Dapatkan semua catatanPHP 7.3.11 Development Server started at Thu May 7 13:21:35 2020 Listening on //127.0.0.1:8080 Document root is /Users/digamber/Desktop/php-rest-api
5 — Dapatkan rekaman tunggalPHP 7.3.11 Development Server started at Thu May 7 13:21:35 2020 Listening on //127.0.0.1:8080 Document root is /Users/digamber/Desktop/php-rest-api
6 — Membuat rekamanPHP 7.3.11 Development Server started at Thu May 7 13:21:35 2020 Listening on //127.0.0.1:8080 Document root is /Users/digamber/Desktop/php-rest-api
7 — Perbarui catatanPHP 7.3.11 Development Server started at Thu May 7 13:21:35 2020 Listening on //127.0.0.1:8080 Document root is /Users/digamber/Desktop/php-rest-api
8 — Ambil rekaman tunggalPHP 7.3.11 Development Server started at Thu May 7 13:21:35 2020 Listening on //127.0.0.1:8080 Document root is /Users/digamber/Desktop/php-rest-api
Ambil Catatan Tabel MySQL menggunakan PHP REST API Endpoint
Kode berikut mengambil semua catatan dari tabel MySQL. Jadi buat baca. php di folder
PHP 7.3.11 Development Server started at Thu May 7 13:21:35 2020
Listening on //127.0.0.1:8080
Document root is /Users/digamber/Desktop/php-rest-api
_9 dan tempatkan kode berikutphp -S 127.0.0.1:8080
_3Mari kita uji PHP API Endpoint menggunakan Postman, buka Postman dan gunakan URL berikut dan klik tombol Kirim untuk memeriksa hasilnya
MetodeEndpointGEThttp. // localhost. 8080/api/baca. phpDapatkan Baris Tunggal dari Database MySQL melalui PHP API
Kode berikut mengambil satu kolom dari tabel database MySQL. Buat single_read. php di folder
PHP 7.3.11 Development Server started at Thu May 7 13:21:35 2020
Listening on //127.0.0.1:8080
Document root is /Users/digamber/Desktop/php-rest-api
_9 dan tempatkan kode berikutPernyataan SELECT digunakan di sini untuk mendapatkan kolom tabel, dalam kode berikut, kami memilih nilai Karyawan dari tabel MySQL
php -S 127.0.0.1:8080
4MetodeEndpointGETlocalhost. 8080/api/single_read. php/?id=2Sisipkan atau Tambahkan Rekaman Tunggal di Tabel MySQL
Pada langkah ini kita akan membuat PHP REST API Endpoints untuk menyisipkan atau menambahkan satu record di tabel MySQL
Buat buat. php di folder
PHP 7.3.11 Development Server started at Thu May 7 13:21:35 2020
Listening on //127.0.0.1:8080
Document root is /Users/digamber/Desktop/php-rest-api
_9 dan tambahkan kode berikutphp -S 127.0.0.1:8080
5MetodeEndpointPOSThttp. // localhost. 8080/api/buat. phpEdit/Perbarui Tabel MySQL menggunakan PHP 8 API
Langkah ini menjelaskan kepada Anda cara Memperbarui atau Mengedit data untuk catatan MySQL tertentu. Kita dapat menggunakan PHP 8 RESTful API untuk melakukan pembaruan yang diperlukan pada data yang disimpan di database MySQL
Buat pembaruan. php di folder
PHP 7.3.11 Development Server started at Thu May 7 13:21:35 2020
Listening on //127.0.0.1:8080
Document root is /Users/digamber/Desktop/php-rest-api
_9 dan tempatkan kode berikutphp -S 127.0.0.1:8080
6MetodeEndpointPOSThttp. // localhost. 8080/api/perbarui. phpHapus/Hapus Catatan Mysql Tunggal menggunakan PHP API
Buat hapus. php di folder
PHP 7.3.11 Development Server started at Thu May 7 13:21:35 2020
Listening on //127.0.0.1:8080
Document root is /Users/digamber/Desktop/php-rest-api
_9 di file ini kita akan menulis login untuk menghapus atau menghapus catatan karyawan tunggal dari tabel data MySQL menggunakan PHP 8 RESTful API. Kami akan membuat panggilan API menggunakan metode mysql -u root -p
4php -S 127.0.0.1:8080
7MetodeEndpointDELETElocalhost. 8080/api/hapus. phpRingkasan
Jadi begitulah, dalam tutorial ini kita telah belajar cara membuat CRUD RESTful API sederhana dengan PHP 8 & MySQL 8, kita juga mengeksplorasi tentang metode PHP yang berguna seperti htmlspecialchars[], bindParam[], execution[], PHP PDO dan
Anda dapat mengunduh file proyek lengkap dari GitHub
Digamber
Saya Digamber, full-stack developer dan pecinta kebugaran. Saya membuat situs ini untuk memberikan pengalaman coding saya dengan programmer pemula. Saya suka menulis di JavaScript, ECMAScript, React, Angular, Vue, Laravel
Twitter GitHubPosting yang Direkomendasikan
Build PHP MySQL 5 Star Rating System menggunakan jQuery AJAXPHP 8 AJAX Live Data Search dengan MySQL TutorialPHP 8 Select2 Multi Select dengan jQuery AJAX TutorialPHP 8 JSON Data Encode and Decode ContohPHP 8 Server Side Form Validasi Tutorial ContohMengintegrasikan Google reCAPTCHA di PHP 8 Formulir KontakCara Membuat Captcha . Dapatkan Nilai yang Dipilih dan Tambahkan Gaya Cara Mendapatkan Nilai yang Dipilih dari Opsi Pilih di PHP 8Dapatkan Banyak Nilai dari Kotak Centang yang Dipilih di PHP 8 Buat Paginasi di PHP 8 dengan MySQL dan Bootstrap