Visi proyek ini adalah untuk memberdayakan pengembang untuk melakukan operasi dasar CRUD dengan mudah tanpa perlu menulis kode PHP khusus. Script dirancang untuk menjadi dinamis, memungkinkan pengguna untuk berinteraksi dengan API hanya dengan memahami dokumentasi yang disediakan dan membuat permintaan HTTP.
create.php )read.php )update.php )delete.php )file-upload.php )Dokumentasi ini memberikan gambaran umum dari satu set skrip PHP yang dirancang untuk operasi dasar CRUD (Buat, Membaca, Perbarui, Hapus) dan mengunggah file. Script dimaksudkan untuk digunakan sebagai API untuk mengelola data dalam database relasional.
Proyek ini menyediakan satu set skrip PHP yang dirancang untuk berfungsi sebagai API sederhana untuk melakukan operasi CRUD (Buat, Membaca, Perbarui, Hapus) pada database relasional. Selain itu, itu termasuk skrip untuk menangani unggahan file. Script dimaksudkan untuk menawarkan solusi yang fleksibel dan dapat diperluas untuk mengelola interaksi data dengan server backend.
Sebelum menggunakan skrip, pastikan koneksi database dikonfigurasi dengan benar. Detail koneksi dapat ditemukan di file configuration/connection.php . Ubah file untuk mengatur host database Anda, nama pengguna, kata sandi, dan nama basis data.
Contoh configuration/connection.php :
define ( ' DB_SERVER ' , ' YOUR_HOSTNAME ' );
define ( ' DB_USERNAME ' , ' YOUR_USERNAME ' );
define ( ' DB_PASSWORD ' , ' YOUR_PASSWORD ' );
define ( ' DB_NAME ' , ' YOUR_DATABASE ' );Deskripsi: Script ini menangani pembuatan catatan baru dalam database berdasarkan data JSON yang disediakan.
table (diperlukan): Nama tabel database untuk memasukkan data ke dalam.validation (Opsional): Aturan validasi untuk data.data (diperlukan): Sejumlah catatan yang akan dimasukkan. validation digunakan untuk memvalidasi data berdasarkan aturan yang disediakan. Aturan validasi berikut tersedia:
required : Lapangan tidak boleh kosong.string : Bidang harus berupa string yang valid.name : Bidang harus menjadi nama yang valid dan tanpa bilangan bulat atau karakter khusus.email : Bidang harus berupa format email yang valid.numeric : Bidang harus numerik.min-length:X : Bidang harus setidaknya X karakter.max-length:X : Bidang harus paling banyak karakter x.length:X : Bidang harus persis x karakter.unique : Nilai bidang harus unik dalam tabel yang ditentukan | Ini akan memeriksa id saat memperbarui catatan, jika sama maka itu akan memperbarui kolom. body contoh dalam permintaan API {
"table" : " users " ,
"validation" : [
{
"name" : " required|string " ,
"email" : " required|email|unique " ,
"phone" : " required|numeric|unique|length:10 " ,
"password" : " required|min-length:6 " ,
"age" : " optional|numeric "
}
],
"data" : [
{
"name" : " Imdadullah " ,
"email" : " [email protected] " ,
"phone" : " 9992229990 " ,
"password" : " VerySecurePassword " ,
"age" : 22
}
]
}Deskripsi: Script ini mengambil data dari database berdasarkan parameter yang ditentukan.
table (diperlukan): Nama tabel database untuk diminta.select (Diperlukan): Array kolom untuk dipilih. Default adalah semua kolom (*).join (Opsional): Sejumlah klausa gabungan untuk melakukan gabungan.conditions (Opsional): Array kondisi dengan objek dengan on , type dan value untuk Data Penyaringan.rawConditions (opsional): Sejumlah kondisi mentah untuk memfilter data, membuat Anda yakin melewati conditions atau rawConditions .order (Opsional): Objek on dan type untuk memesan data.limit (opsional): Batasi jumlah catatan yang dikembalikan. body contoh dalam permintaan API {
"table" : " users " ,
"select" : [ " id " , " name " , " email " , " age " ],
"order" : { "on" : " id " , "type" : " DESC " },
"conditions" : [
{
"on" : " age " ,
"type" : " >= " ,
"value" : " 18 "
},
{
"on" : " status " ,
"type" : " = " ,
"value" : " active "
},
{
"on" : " email " ,
"type" : " LIKE " ,
"value" : " @gmail.com% "
}
],
"limit" : 10
}body dengan rawConditions dalam permintaan API {
"table" : " users " ,
"select" : [ " id " , " name " , " email " , " age " ],
"order" : { "on" : " id " , "type" : " DESC " },
"rawConditions" : [
" WHERE age >= '18' OR type = 'customer' AND status = 'active' "
]
}body dengan parameter JOIN Catatan: Anda harus menyebutkan setiap nama tabel bersama dengan nama kolom untuk menggunakan JOIN
{
"table" : " users " ,
"select" : [
" users.name " ,
" users.email " ,
" items.title " ,
" items.price " ,
" purchases.amount " ,
" purchases.created_at AS purchased_date "
],
"conditions" : [
{
"on" : " purchases.item_id " ,
"type" : " = " ,
"value" : " 102 "
}
],
"join" : [
{
"table" : " purchases " ,
"on" : [ " purchases.user_id " , " users.id " ],
"type" : " LEFT "
},
{
"table" : " items " ,
"on" : [ " items.id " , " purchases.item_id " ],
"type" : " LEFT "
}
]
}Deskripsi: Script ini memperbarui catatan yang ada dalam database berdasarkan parameter yang ditentukan.
table (diperlukan): Nama tabel database untuk diminta.data (diperlukan): Array bidang dan nilai yang akan diperbarui.conditions (diperlukan): Sejumlah persyaratan untuk mengidentifikasi catatan untuk diperbarui.validation (Opsional): Aturan validasi untuk data. body contoh dalam permintaan API {
"table" : " users " ,
"data" : [
{
"name" : " Imdadullah Babu " ,
"age" : 22
}
],
"validation" : [
{
"name" : " required|string " ,
"age" : " optional|numeric "
}
],
"conditions" : [
{
"on" : " id " ,
"type" : " = " ,
"value" : " 1 "
}
]
}Deskripsi: Script ini menghapus catatan dari database berdasarkan parameter yang ditentukan.
table (Diperlukan): Nama tabel database untuk dihapus dari.conditions (diperlukan): Sejumlah kondisi untuk mengidentifikasi catatan untuk dihapus. body contoh dalam permintaan API {
"table" : " users " ,
"conditions" : [
{
"on" : " id " ,
"type" : " = " ,
"value" : " 1 "
}
]
}Deskripsi: Script ini menangani pengunggahan file ke tujuan yang ditentukan.
fileDestination (wajib): Direktori tempat file akan disimpan.fileValidation (wajib): Daftar ekstensi file yang diizinkan secara koma yang diizinkan.Catatan: Anda dapat mengunggah banyak file sekaligus, dan ini tidak akan memasukkan ke dalam tabel database Anda, Anda akan mendapatkan URL sebagai respons dan Anda dapat menyimpannya ke database.
< script >
const uploadButton = document.getElementById("button");
uploadButton.addEventListener("click", async function () {
const fileInput = document . getElementById ( "file" ) ;
const imageInput = document . getElementById ( "image" ) ;
const file = fileInput . files [ 0 ] ;
const image = imageInput . files [ 0 ] ;
const formData = new FormData ( ) ;
formData . append ( "file" , file ) ;
formData . append ( "image" , image ) ;
formData . append ( "fileDestination" , "files" ) ; // Files will be uploaded to the mentioned destination on the 'uploaded' directory
formData . append ( "fileValidation" , [ "jpg" , "png" , "pdf" ] ) ;
const request = await fetch ( "YOUR_API_REQUEST_ENDPOINT" , {
method : "POST" ,
body : formData ,
} ) ;
const response = await request . json ( ) ;
console . log ( response ) ;
} );
</ script > {
"file": "uploads/files/2024011984368.jpg",
"image": "uploads/files/2024011960039.jpg"
}
Catatan: Kustomisasi dan perpanjang skrip berdasarkan persyaratan proyek Anda. Pastikan validasi yang tepat dan langkah -langkah keamanan dilaksanakan dalam lingkungan produksi.
Untuk langkah-langkah keamanan tambahan atau logika khusus, pengembang dapat memperluas fungsionalitas dengan menambahkan logika mereka sendiri ke file configuration/custom-functions.php . Ini menyediakan ruang untuk menggabungkan validasi token, otentikasi khusus, atau langkah -langkah keamanan lainnya sesuai dengan persyaratan proyek.
Proyek ini dikembangkan oleh Imdadullah Babu, skrip bertujuan untuk memberikan dasar bagi pengembang PHP untuk mengintegrasikan operasi basis data dasar dan mengunggah file ke dalam proyek mereka tanpa menulis kode berulang.
Proyek ini open-source, dan kami menyambut kontribusi dari pengembang di seluruh dunia. Apakah Anda tertarik untuk menambahkan fitur baru, meningkatkan dokumentasi, memperbaiki bug, atau menyarankan peningkatan, kontribusi Anda sangat berharga.
Bersama -sama, kita dapat membuat proyek ini lebih fleksibel dan bermanfaat bagi komunitas pengembang. Kontribusi Anda, besar atau kecil, sangat dihargai.
Terima kasih telah menjadi bagian dari perjalanan sumber terbuka kami!