Belajar PHP #11 : Penerapan OOP di PHP

Penerapan OOP di PHP

Pada artikel kali ini kita akan membahas Perenapan OOP di PHP, Artikel ini sedikit mirip dengan Artikel Belajar PHP #8, yaitu koneksi ke Database Mysql akan tetapi dengan Penerapan OOP di PHP. Bisa dibilang artikel ini adalah gabungan dari beberapa Artikel sebelumnya yaitu OOP dan Koneksi Mysql.

Goals kita kali ini adalah kita bisa mengakses Database, dan bisa menampilkan data yang ada pada Database tersebut dengan konsep OOP. Langsung saja kita Praktekkan

Penerapan OOP di PHP untuk Koneksi MySQL

Pembuatan Database

Pertama, kita akan menghubungkan Database MySQL kita dengan File PHP kita. Kalau dahulu kita menggunakan 1 file config.php. Sekarang kita akan mempraktekkan untuk membuat Database terlebih dahulu. Kita bisa menggunakan Bahasa SQL di Phpmyadmin kita. Jadi pastikan XAMPP kita jalan yaa.

Membuat Tabel

CREATE DATABASE sekolah

Selanjutnya, kita buat tabel di dalam Database sekolah yaitu tabel siswa.

CREATE TABLE siswa (
  id int(11) NOT NULL,
  nama_siswa varchar(255) NOT NULL,
  email varchar(255) NOT NULL,
  jenis_kelamin varchar(2) NOT NULL
)

Nah agar kita bisa mengisi tabel siswa tersebut dengan Data yang nanti akan kita tampilkan di Website kita.

INSERT INTO siswa (id, nama_siswa, email, jenis_kelamin) VALUES
(1, 'Alfian', 'alfian@gmail.com', 'L'),
(2, 'Dewi', 'dewi@gmail.com', 'P');

Okay, sekarang akan muncul di Database kita seperti ini.

Belajar PHP #11 : Penerapan OOP di PHP Dunia Coding

Setting File PHP

Setelah selesai mengatur segala kebutuhan Database. Sekarang kita benar-benar akan Fokus ke Penerapan OOP di PHP. Pertama, kita akan Bahas Struktur Folder kita.
Jadi, disini aku membuat tiap File OOP ada di sebuah Folder sendiri dengan Nama Controller. Lalu file lain seperti index akan berapa diluar Folder Controller. Kurang lebih seperti ini.

Folder Sekolah
— Controller
—— SiswaController.php
— index.php

Atau kalau di Visual Studio Code terlihat seperti ini

Belajar PHP #11 : Penerapan OOP di PHP Dunia Coding

Sekarang, kita akan mulai menulis syntax di SiswaController.php, disini kita akan menerapkan sistem OOP, dimana akan ada Class sendiri dengan nama Siswa. Lalu ada Fungsi yang ada di dalam Class Siswa.

File SiswaController.php

<?php

class Siswa
{
    public $siswa;
    public $pdo;

    public function __construct()
    {
        $host = "localhost";
        $database = "sekolah";
        $user = "root";
        $password = "";

        $this->pdo = new PDO("mysql:host={$host}; dbname={$database}", $user, $password);
    }

    public function getAll()
    {
        $this->pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        $query = "SELECT * FROM siswa";
        $stmt = $this->pdo->prepare($query);
        $stmt->execute();

        $result = $stmt->fetchAll();
        return $result;
    }
}

Bisa dilihat di syntax diatas, Syntax diatas adalah Penerapan OOP di PHP yang kita buat. Kita sudah membuat Class dengan nama Siswa. Nah Class Siswa ini memiliki dua Fungsi yang berbeda, yaitu __construct() dan getAll(). Fungsi __construct() digunakan untuk Koneksi ke Database kita. Oleh karena itu disana ada beberapa settingan yaitu $host, $database, $user, dan $password.

Setelah itu ada Fungsi getAll(). Fungsi ini memiliki $query = "SELECT * FROM siswa";. Nah Syntax SQL ini lah yang akan kita gunakan untuk mengambil Data dari Database dan menampilkannya di Website kita.

Sekarang Kita selesai mengatur penerapan OOP di PHP, kita akan Fokus ke file index.php. Kita akan menggunakan Tabel dari Bootstrap sehingga tampilannya lebih baik

File index.php

<!doctype html>
<html lang="en">

<head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <!-- Bootstrap CSS -->
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">

    <title>Siswa</title>
</head>

<body>
    <div class="container mt-5">
        <table class="table">
            <thead>
                <tr>
                    <th scope="col">No</th>
                    <th scope="col">Nama</th>
                    <th scope="col">Email</th>
                    <th scope="col">Jenis Kelamin</th>
                </tr>
            </thead>
            <tbody>
                <?php
                include_once 'Controller/SiswaController.php';
                $siswa = new Siswa;

                $row = $siswa->getAll();

                $number = 1;
                foreach ($row as $item) {
                ?>
                    <tr>
                        <th scope="row"><?php echo $number ?></th>
                        <td><?php echo $item['nama_siswa'] ?></td>
                        <td><?php echo $item['email'] ?></td>
                        <td><?php echo $item['jenis_kelamin'] ?></td>
                    </tr>
                <?php
                    $number++;
                }
                ?>
            </tbody>
        </table>
    </div>

    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
</body>

</html>

Bisa dilihat pada syntax <?php diatas. Disini kita memanggil OOP kita yaitu SiswaController.php yang berada di dalam Folder Controller. Setelah kita panggil, sekarang kita bisa menjalankan salah satu fungsi nya yaitu getAll() untuk mengambil semua Data dari Database.

Karena Data yang ada pada Table Siswa bisa saja lebih dari satu. kita menggunakan perulangan foreach untuk menampilkan semua Data dari Database kita.

Syntax diatas akan menghasilkan

Belajar PHP #11 : Penerapan OOP di PHP Dunia Coding

Gambar diatas sudah menampilkan semua Data yang ada di Database didalam Website kita.

Kedepannya, kita akan terfokus untuk edit SiswaController.php. Didalam File Siswa itu, kita akan menuliskan beberapa Fungsi yang lain seperti Edit Data, Menambah Data, dan Bahkan menghapus Data.

Kesimpulan

Disini kita sudah sama-sama mempelajari Penerapan OOP di PHP. dan kita juga mengetahui bahwa Penerapan OOP di PHP ini sangat penting untuk memudahkan kita dalam membuat Codingan PHP kita, dan tentunya membuat Codingan kita lebih Rapi dan Mudah dibaca.

Itu saja untuk Artikel kali ini teman-teman. Semoga bermanfaat untuk kita semua.

Share

You may also like...

1 Response

  1. 21/12/2021

    […] Belajar PHP #11 : Penerapan OOP di PHP […]

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *