Adalah sebuah Libray PHP untuk melakukan CRUD (Create, Read, Update, Delete). Library ini dikhususkan untuk memudahkan programmer pemula yang baru belajar PHP dasar & OOP (Object Oriented Programming)
- Setelah anda mengekstrak file SimPHPel.zip, maka seharusnya anda mendapatkan struktur file seperti ini:
* SimPHPel
+ brain
+ core
- Database.php
- Auth.php
- Config.php
- bridge.php
- index.php
- Edit file
index.php
:
<?php
include('bridge.php');
// Mendapatkan seluruh data di table "coba"
$result = Database::all("coba");
// Meregister user baru
$register = Auth::register("coba");
if($register) {
echo "<script>
alert('Ok');
document.location.href = 'http://localhost:8080/simPHPel/';
</script>";
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>SimPHPel</title>
</head>
<body>
<h1>Data Di Tabel "Coba" :</h1>
<?php foreach ($result as $data) : ?>
<p><?= $data['name']; ?> | <?= $data['email']; ?></p><br>
<?php endforeach; ?>
<br><br>
<h1>Tambah Data Tabel "Coba" :</h1>
<form action="" method="POST">
<input type="text" name="name" required>
<input type="text" name="email" required>
<input type="password" name="password" required>
<button type="submit">Kirim</button>
</form>
</body>
</html>
- Edit file
brain/Config.php
untuk mengganti nama database anda :
<?php
class Config {
// UBAH SERVER, USERNAME, PASSWORD, DAN DATABASE DARI MYSQLNYA DI PROPERTIES INI
private static $db_server = "localhost";
private static $db_user = "root";
private static $db_password = "";
private static $db_name = "nama_database_anda";
protected static function connect() {
$conn = mysqli_connect(self::$db_server, self::$db_user, self::$db_password, self::$db_name);
return $conn;
}
}
?>
- Import file coba.sql ke dalam phpmyadmin
- Pastikan anda mengekstrak simPHPel.zip di dalam folder project anda yang berada di dalam folder htdocs
- Buka folder "brain", kemudian edit file Config.php
- Temukan sintaks :
private static $db_name = "usk_latihan";
- Ganti kata "usk_latihan" menjadi nama database anda
- Buat file index.php
- Buka tag php di baris paling atas :
<?php ... ?>
- Didalam tag php, masukan script :
include('bridge.php');
- Atau jika anda ingin menggunakan Magic Method CRUD ini di dalam file php anda yang lain, ikuti langkah 7 & 8
- File yang telah anda sisipkan script include('bridge.php'); sudah siap untuk anda gunakan semua methodnya
2. Database MySQL atau MariaDB
Program ini sangat berkaitan dengan database. Ia berasumsi jika semua table yang telah anda buat memiliki PRIMARY KEY dengan nama "id" dan memiliki atribut AUTO_INCREMENT.
Semua method bersifat static, sehingga anda bisa memanggil method tersebut tanpa harus menginisialisasikan objek.
NamaClass::method(parameter);
atau
Database::all(nama_table);
Auth::register(nama_table);
Database::tables();
Method ini digunakan untuk melihat semua table yang telah dibuat. Method tersebut menghasilkan perintah SQL seperti ini :
SHOW TABLES;
Database::all("nama_table");
Method ini digunakan untuk mengambil semua data di dalam table. Method tersebut menghasilkan perintah SQL seperti ini :
SELECT * FROM nama_table
Database::find("nama_table", id);
Method ini digunakan untuk mencari data tertentu pada suatu table berdasarkan id. Method ini akan menghasilkan perintah SQL seperti ini :
SELECT * FROM nama_table WHERE id = 'id';
Database::get("nama_table", "key", "value");
Method ini digunakan untuk mencari data tertentu pada suatu table dengan value where clause tertentu. Method ini akan menghasilkan perintah SQL seperti ini :
SELECT * FROM nama_table WHERE key = 'value';
Database::getOpt("nama_table", "key", "option", "value");
Method ini digunakan untuk mencari data tertentu pada suatu table dengan where clause dan value tertentu. Method ini akan menghasilkan perintah SQL seperti ini :
SELECT * FROM nama_table WHERE key option 'value';
Database::create("nama_table");
Method ini digunakan untuk menambahkan data. untuk menggunakan method ini, pastikan value dari atribut tag input anda sama dengan nama field pada database anda.
Database::update("nama_table", "id");
Method ini digunakan untuk mengupdate data. untuk menggunakan method ini, pastikan value dari atribut tag input anda sama dengan nama field pada database anda.
Database::delete("nama_table", "id");
Method ini digunakan untuk menghapus data dari table tertentu dengan id. Method ini akan menghasilkan perintah SQL seperti ini :
DELETE FROM nama_table WHERE id = 'id';
Database::deleteOpt("nama_table", "key", "option", "value");
Method ini digunakan untuk menghapus data dari table tertentu dengan where clauses dan value tertentu. Method ini akan menghasilkan perintah SQL seperti ini :
DELETE FROM nama_table WHERE key option 'value';
Database::innerJoin("table1", "table2", "kolom_table1", "kolom_table2");
Method ini digunakan untuk melakukan fungsi INNER JOIN. Method ini akan menghasilkan perintah SQL seperti ini :
SELECT * FROM table1 INNER JOIN table2 ON table1.kolom_table1 = table2.kolom_table2;
Database::leftJoin("table1", "table2", "kolom_table1", "kolom_table2");
Method ini digunakan untuk melakukan fungsi LEFT OUTER JOIN. Method ini akan menghasilkan perintah SQL seperti ini :
SELECT * FROM table1 LEFT JOIN table2 ON table1.kolom_table1 = table2.kolom_table2;
Database::rightJoin("table1", "table2", "kolom_table1", "kolom_table2");
Method ini digunakan untuk melakukan fungsi RIGHT OUTER JOIN. Method ini akan menghasilkan perintah SQL seperti ini :
SELECT * FROM table1 RIGHT JOIN table2 ON table1.kolom_table1 = table2.kolom_table2;
Database::fullJoin("table1", "table2", "kolom_table1", "kolom_table2");
Method ini digunakan untuk melakukan fungsi FULL OUTER JOIN. Method ini akan menghasilkan perintah SQL seperti ini :
SELECT * FROM table1 LEFT OUTER JOIN table2 ON table1.kolom_table1 = table2.kolom_table2 UNION SELECT * FROM table1 RIGHT OUTER JOIN table2 ON table1.kolom_table1 = table2.kolom_table2;
Auth::register("nama_table");
Method ini digunakan untuk mendaftarkan user baru, data password akan otomatis di hash.
Auth::login("nama_table", "keyword");
Method ini digunakan untuk melakukan proses Autentikasi dengan mencari data berdasarkan keyword/field tertentu.
Auth::logout("url");
Method ini digunakan untuk melakukan proses Logging Out User dan otomatis redirect ke url tertentu