Phpeasy adalah kerangka PHP yang berpusat pada API. Kode dekat dengan bahasa PHP itu sendiri daripada kerangka kerja.
I. Intro
Ii. Prasyarat
AKU AKU AKU. Instalasi
Ini untuk seseorang yang menyukai Vanilla PHP dan kesederhanaannya. Saat ini Anda harus mengikuti standar pengkodean (OOP, Solid, Dry, dll.) Dan kerangka kerja MVC untuk melakukan pengembangan web menggunakan PHP. Kerangka kerja PHP di luar sana hadir dengan terlalu banyak file, konfigurasi, kelas, dan ketergantungan. Saya membuat kerangka kerja mini ini sehingga pengembang PHP dapat melakukan pengembangan web lebih cepat saat menguasai dan menikmati bahasa PHP itu sendiri (ya! Tidak perlu mempelajari begitu banyak perpustakaan).
Komposer - Buka terminal di dalam folder root atau htdocs Anda dan jalankan perintah di bawah ini.
composer create-project vgalvoso/phpeasy my_phpeasy
Anda dapat mengubah [my_phpeasy] menjadi nama proyek apa pun yang Anda inginkan.
Sekarang buka browser Anda dan buka http: // localhost/my_phpeasy
Buat tampilan di dalam folder tampilan.
Rute Tampilan akan secara otomatis dibuat berdasarkan struktur folder tampilan.
Lihatlah contoh di bawah ini.
Anda dapat membuat nama file jika file tampilan dinamai [index.php]:
(SPA) Aplikasi satu halaman terdiri dari komponen tampilan.
View Components hanya dapat diakses melalui permintaan AJAX.
Panggil saja inti/helper/komponen (); Di bagian atas file tampilan untuk menentukannya sebagai komponen tampilan.
Contoh: Lihat/Admin/Users_table.php
< ?= Core/Helper/component(); ? >
< table >
< thead >
< tr >
< th > Username </ th >
< th > First Name </ th >
< th > Last Name </ th >
</ tr >
</ thead >
< tbody id =" users_tbl " >
< tr > < td > No Contents </ td > </ tr >
</ tbody >
</ table > PhPeasy mendukung REST API.
Semua API ditempatkan di dalam folder API.
Rute API akan dibuat secara otomatis melalui struktur file folder API dan fungsi yang diimplementasikan di dalam file PHP yang dinamai dengan kata kerja http misalnya (get (), post (), patch ()).
Jadi misalnya Anda menghilangkan fungsi delete (), Anda tidak dapat menghubungi Delete API/Users/{ID}.
Berikut adalah contoh API REST pengguna.
Path File API: [API/Users.php]
Rute:
<?php
use Core DAL ;
use function Core Helper error ;
use function Core Helper getRequestBody ;
use function Core Helper response ;
use function Core Helper startAPI ;
startAPI ();
function get (){
$ db = new DAL ();
//GET user by id
if ( defined ( ' URI_PARAM ' )){
$ query = " SELECT * FROM users WHERE id = :id " ;
$ param = [ " id " => URI_PARAM ];
if (! $ user = $ db -> getItem ( $ query , $ param ))
response ([]);
response ([ $ user ]);
}
//GET All users
$ query = " SELECT * FROM users " ;
$ users = $ db -> getItems ( $ query );
response ( $ users );
}
function post (){
$ db = new DAL ();
$ rq = ( object ) getRequestBody ();
$ values = [
" username " => $ rq -> username ,
" firstname " => $ rq -> firstname ,
" lastname " => $ rq -> lastname ,
" usertype " => $ rq -> usertype ,
" password " => password_hash ( $ rq -> password , PASSWORD_BCRYPT )
];
if (! $ db -> insert ( " users " , $ values ))
error ( $ db -> getError ());
response ( " New User added! " );
}
function delete (){
if (! defined ( ' URI_PARAM ' ))
error ( " Invalid Request! Please specify user id " );
$ db = new DAL ();
$ id = URI_PARAM ;
if (! $ db -> delete ( " users " , " id=:id " ,[ " id " => $ id ]))
error ( $ db -> getError ());
response ( " User Deleted Successfuly! " );
}
function patch (){
if (! defined ( ' URI_PARAM ' ))
error ( " Invalid Request! Please specify user id " );
$ db = new DAL ();
$ id = URI_PARAM ;
$ rq = ( object ) getRequestBody ();
$ values = [
" firstname " => $ rq -> firstname ,
" lastname " => $ rq -> lastname ];
$ params = [ " id " => $ id ];
$ db = new DAL ();
if (! $ db -> update ( " users " , " id=:id " , $ values , $ params ))
error ( $ db -> getError ());
response ( " User Updated Successfuly " );
}
//EOF API di PhPeasy mendorong gaya pengkodean prosedural,
Jadi, inilah daftar fungsi yang dapat Anda gunakan dalam implementasi API:
Inisialisasi file PHP sebagai API REST.
Setelah memanggil fungsi ini, Anda dapat menerapkan kata kerja HTTP sebagai fungsi.
Contoh:
<?php
use function Core Helper startAPI ;
startAPI ();
function get (){
//Handle GET request to api/users
}Respons kesalahan akan diterima jika Anda mencoba meminta menggunakan metode HTTP selain GET.
Dapatkan Badan Permintaan dan Konversikan menjadi Assoc Array.
Contoh:
<?php
use Core Helper getRequestBody ;
$ rq = getRequestBody ();
$ username = $ rq [ " username " ];
$ password = $ rq [ " password " ];
//you can convert it to object for easy access
//$rq = (object)$rq;
//$username = $rq->username;
//$password = $rq->password; Validasi array pasangan nilai kunci berdasarkan aturan validasi.
$inputs - Array asosiatif yang akan divalidasi.$validations - Array asosiatif yang berisi kunci yang cocok dengan kunci dalam $ data dan nilai adalah aturan validasi.Contoh:
<?php
use function Core Helper getRequestBody ;
use function Core Validator validate ;
$ rq = getRequestBody ();
$ dataRules = [ " uname " => " required|string " ,
" upass " => " required|string " ,
" firstName " => " required|string " ,
" lastName " => " required|string " ];
validate ( $ rq , $ dataRules );Respons output dengan 400 kode status dan pesan kesalahan
$message - string | pesan kesalahan array Setel jenis konten dan kode status kemudian output konten dan keluar dari skrip
$content String | Array - Konten ke Output$statusCode int - kode status respons (default 200)$contentType String - Jenis Konten (Aplikasi Default/JSON). Jenis konten yang tersedia: [Aplikasi/JSON | polos/teks | teks/html] Sertakan tampilan yang ditentukan
$route string - lihat jalur fileSebagian besar digunakan untuk memanggil komponen spa
Redirect ke tampilan yang ditentukan.
Jika jalur tidak ditentukan, redirect berdasarkan sesi.
$view String - Path to View Sintaks yang lebih pendek untuk htmlspecialchars ()
$string - string untuk membersihkanMenghasilkan kode alfanumerik acak
$length - Panjang kode yang akan dihasilkan (default 6) Ekstrak kunci objek dan nilai dan simpan ke array sesi
$object - objek untuk mengekstraksi contoh: <?php
use Core DAL ;
$ db = new DAL ();
if (! $ user = $ db -> getItem ( 1 ))
invalid ( " User does not exist! " );
objToSession ( $ userInfo );Hasilkan nama file baru dan unggah file
string $uploadFile $ _file kuncistring $uploadPath lokasi untuk file unggah harus menambahkan "/" ke akhirDapat/atur variabel sesi
$sessionVar - kunci sesi$value - menetapkan nilai sesi jika nol Konversi array objek menjadi array yang diindeks yang berisi nilai item yang ditentukan.
$objArr - array jika ibJAT untuk mengonversi$item - item objek untuk diekstrak PHPeasy memperkenalkan kelas DAL () untuk operasi basis data. Mendukung MySQL, MSSQL dan SQLite.
Atur Konfigurasi Basis Data di Config/Database.php
Di bawah ini adalah fungsi dal ()
$ db = new DAL ();Mengeksekusi pernyataan insert;
$table - Nama tabel yang akan dimasukkan$values - Array asosiatif yang berisi kunci yang cocok dengan bidang tabel dan nilai yang akan dimasukkan.Contoh:
$ values = [ " username " => $ uname ,
" password " => $ upass ,
" firstname " => $ firstName ,
" lastname " => $ lastName ];
$ db -> insert ( " users " , $ values );Mengeksekusi pernyataan pembaruan
string $table Tabel untuk memperbaruistring $condition kondisi mis. id =: idarray $values Associative Array yang berisi nilai untuk memperbarui misalnya. ["age" => 27]array $params untuk kondisi misalnya. ["id" => 1]Contoh:
$ values = [
" firstname " => $ firstName ,
" lastname " => $ lastName ];
$ params = [ " id " => 1 ];
$ db = new DAL ();
$ db -> update ( " users " , " id=:id " , $ values , $ params );Mengeksekusi pernyataan hapus
string $table tabel untuk dihapus daristring $condition kondisi menggunakan pernyataan yang disiapkan misalnya. id =: id dan name =: namearray $params untuk kondisi misalnya. ["id" => 1, "name" => "juan dela cruz"]Contoh:
$ delete ( " users " , " id=:id " ,[ " id " => 1 ]);Pilih beberapa item
string $query Selectarray $inputs Parameter untuk Default Pernyataan Persiapan (NULL)Contoh:
$ db = new DAL ();
$ sql = " SELECT * FROM users WHERE lastname = :surname " ;
$ params = [ " surname " => $ lastName ];
$ users = $ db -> getItems ( $ sql , $ params );Pilih satu kueri baris
string $query Selectarray $inputs Parameter untuk Default Pernyataan Persiapan (NULL)Contoh:
$ db = new DAL ();
$ sql = " SELECT * FROM users WHERE id=:userId " ;
$ params = [ " userId " => 1 ];
$ users = $ db -> getItem ( $ sql , $ params );Mulai transaksi basis data.
Melakukan transaksi basis data.
Transaksi database rollback.
Mengembalikan kesalahan database
Mendapatkan LastID yang dimasukkan ke database
string $field Tentukan bidang lastId, null default Dapatkan friver basis data yang saat ini digunakan.
- api/getAllUser.php
```php
<?php
$db = new DAL();
$users = new Users($db);
$usersList = $users->getAll();
Anda dapat menggunakan model atau tidak tergantung pada persyaratan proyek.
Kelas DAL dapat diakses secara langsung dalam file API, Anda dapat menjalankan kueri langsung pada implementasi API tanpa membuat model.
PhPeasy progresif, Anda dapat menambahkan model, layanan jika Anda suka, cukup perbarui file composer.json jika Anda menambahkan direktori lain.
Melihat