Contoh Oop Php Crud

10 min read Jun 27, 2024
Contoh Oop Php Crud

Contoh OOP PHP CRUD: Membuat Aplikasi Manajemen Produk Sederhana

Pendahuluan

Artikel ini akan memandu Anda untuk membuat aplikasi sederhana berbasis web untuk mengelola data produk menggunakan konsep OOP (Object Oriented Programming) di PHP. Aplikasi ini akan meliputi fitur CRUD (Create, Read, Update, Delete) untuk data produk.

1. Persiapan

  • Pastikan Anda memiliki server web yang sudah dikonfigurasi dengan PHP dan database MySQL.
  • Buat database baru dan tabel products dengan kolom:
    • id (INT, primary key, auto increment)
    • name (VARCHAR)
    • description (TEXT)
    • price (DECIMAL)

2. Membuat Class Product

Buat file Product.php dan tambahkan kode berikut:

id = $id;
        $this->name = $name;
        $this->description = $description;
        $this->price = $price;
    }

    // Getter dan Setter
    public function getId() {
        return $this->id;
    }

    public function getName() {
        return $this->name;
    }

    public function setName($name) {
        $this->name = $name;
    }

    // ... (Getter dan Setter untuk properties lainnya)

    public function save() {
        // ... (Kode untuk menyimpan data produk ke database)
    }

    public static function find($id) {
        // ... (Kode untuk mengambil data produk berdasarkan ID)
    }

    public static function findAll() {
        // ... (Kode untuk mengambil semua data produk)
    }

    public function update() {
        // ... (Kode untuk memperbarui data produk)
    }

    public function delete() {
        // ... (Kode untuk menghapus data produk)
    }
}

3. Implementasi CRUD

a. Create (Menambahkan Data)

Di file index.php:

save();

    header('Location: index.php');
    exit;
}

?>




    Manajemen Produk


    

Tambah Produk







b. Read (Membaca Data)

Di file index.php:






    Manajemen Produk


    

Daftar Produk

Nama Deskripsi Harga Aksi
getName() ?> getDescription() ?> getPrice() ?> Edit | Delete

c. Update (Memperbarui Data)

Di file edit.php:

setName($name);
    $product->setDescription($description);
    $product->setPrice($price);
    $product->update();

    header('Location: index.php');
    exit;
}

$id = $_GET['id'];
$product = Product::find($id);
?>




    Edit Produk


    

Edit Produk







d. Delete (Menghapus Data)

Di file delete.php:

delete();

header('Location: index.php');
exit;
?>

4. Implementasi Database Connection (Contoh)

Dalam contoh ini, Anda perlu mengimplementasikan koneksi ke database dan kueri SQL di dalam metode save(), find(), findAll(), update(), dan delete() pada class Product.

Berikut contoh implementasi koneksi dan kueri SQL menggunakan PDO:

db = new PDO("mysql:host=localhost;dbname=your_database_name", "username", "password");
    }

    public function save() {
        $query = "INSERT INTO products (name, description, price) VALUES (:name, :description, :price)";
        $stmt = $this->db->prepare($query);
        $stmt->bindParam(':name', $this->name);
        $stmt->bindParam(':description', $this->description);
        $stmt->bindParam(':price', $this->price);

        return $stmt->execute();
    }

    public static function find($id) {
        $db = new PDO("mysql:host=localhost;dbname=your_database_name", "username", "password");

        $query = "SELECT * FROM products WHERE id = :id";
        $stmt = $db->prepare($query);
        $stmt->bindParam(':id', $id);
        $stmt->execute();

        $result = $stmt->fetch(PDO::FETCH_ASSOC);

        if ($result) {
            return new Product($result['id'], $result['name'], $result['description'], $result['price']);
        } else {
            return null;
        }
    }

    public static function findAll() {
        $db = new PDO("mysql:host=localhost;dbname=your_database_name", "username", "password");

        $query = "SELECT * FROM products";
        $stmt = $db->prepare($query);
        $stmt->execute();

        $results = $stmt->fetchAll(PDO::FETCH_ASSOC);
        $products = [];

        foreach ($results as $result) {
            $products[] = new Product($result['id'], $result['name'], $result['description'], $result['price']);
        }

        return $products;
    }

    public function update() {
        $query = "UPDATE products SET name = :name, description = :description, price = :price WHERE id = :id";
        $stmt = $this->db->prepare($query);
        $stmt->bindParam(':id', $this->id);
        $stmt->bindParam(':name', $this->name);
        $stmt->bindParam(':description', $this->description);
        $stmt->bindParam(':price', $this->price);

        return $stmt->execute();
    }

    public function delete() {
        $query = "DELETE FROM products WHERE id = :id";
        $stmt = $this->db->prepare($query);
        $stmt->bindParam(':id', $this->id);

        return $stmt->execute();
    }
}

?>

5. Penjelasan

  • Class Product: Merepresentasikan data produk dengan properties dan metode.
  • Getter dan Setter: Digunakan untuk mengakses dan memodifikasi properties secara terkontrol.
  • Method save(): Menambahkan data produk baru ke database.
  • Method find(): Mengambil data produk berdasarkan ID.
  • Method findAll(): Mengambil semua data produk.
  • Method update(): Memperbarui data produk yang sudah ada.
  • Method delete(): Menghapus data produk.

6. Kesimpulan

Artikel ini telah menunjukkan contoh sederhana implementasi CRUD menggunakan OOP di PHP. Dengan memanfaatkan konsep OOP, Anda dapat membuat kode yang lebih terstruktur, mudah dipelihara, dan dapat diperluas dengan mudah. Anda dapat mengembangkan aplikasi ini lebih lanjut dengan menambahkan fitur seperti pencarian, validasi data, dan pengolahan file.

Related Post


Latest Posts