Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

OOP PHP PDO Proyek Pertama Saya, Apakah yang saya lakukan benar?

Saya akan mulai dengan menggunakan model/mapper. Ini adalah cara yang sangat sederhana untuk mendapatkan objek biasa dan dapat menyimpannya ke database. Itu juga menghindari pencampuran panggilan database dan kode (logika ketekunan) dengan fungsionalitas (aplikasi atau logika bisnis). Contoh sederhana:

class User {
    public $id;
    public $username;

}

class UserMapper {
    /**
     * @param User $user
     */
    public function save(User $user) {

        if(isset($user->id)) {
            $statement = "Update users set username = ? where id = ?"
        } else {
            $statement = "insert into users set username = ?, id = ?"
        }
        $instance = db::getInstance();
        $sth = $instance->prepare($statement );
        $values_a = array($user->username, $user->id);
        $db_result = $sth->execute($values_a);
    }

    /**
     * @param int $userId
     * @return User
     */
    public function load($userId) {
        $statement = "select * from users where id = ?";
        $instance = db::getInstance();
        $sth = $instance->prepare($statement );
        $values_a = array($user->id);
        $db_result = $sth->execute($values_a);
        $returnUser = new User();
        $returnUser ->id       = $db_result[0]['id'];
        $returnUser ->username = $db_result[0]['username'];
        return $returnUser;
    }
}

Saya juga merekomendasikan menggunakan getter/setter, alih-alih akses anggota langsung, tetapi ini hanya untuk kesederhanaan kode... Saat Anda mengembangkan lebih banyak model/pemeta, Anda akan menemukan fungsionalitas mapper umum (menyimpan, memuat, menghapus, menemukan) dan Anda dapat memfaktorkan ulang kode Anda agar mengandung logika umum sehingga Anda tidak memiliki banyak copypasta.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Memperbaiki Error:MySQL shutdown tiba-tiba di Xampp karena Plugin 'Aria'

  2. bidang json di mysql di mana klausa

  3. Hapus Menggunakan Beberapa Tabel dan ulangi tabel di subquery

  4. Symfony 3 - Pengecualian terjadi pada driver:tidak dapat menemukan driver

  5. Kesalahan menginstal mysqlclient untuk python di Ubuntu 18.04