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

Cara yang disarankan untuk meneruskan koneksi data ke kelas/metode PHP?

Melewati string koneksi ke kelas Anda memiliki banyak kerugian dan tidak ada manfaat. Anda berada di jalur yang benar, tetapi Anda ingin meneruskan objek database alih-alih string koneksi.

Injeksi Ketergantungan adalah cara yang baik untuk memberikan kelas Anda akses ke database, yang berarti meneruskan dependensi (yaitu objek database) ke objek yang membutuhkannya, daripada objek itu sendiri yang memperoleh ketergantungan dari semacam variabel global.

Saya menyarankan agar Anda menggunakan metode seperti setDb() di kelas Anda untuk meneruskan objek database, lalu menyimpannya sebagai properti untuk penggunaan internal apa pun.

Misalnya, dengan asumsi Anda telah membuat objek database $db dalam skrip inisialisasi:

class SomeClass
{
    protected $db;

    public function setDb($db)
    {
        $this->db = $db;
    }

    public function something()
    {
        // do some query on the database using $this->db
    }
}

$obj = new SomeClass();
$obj->setDb($db);

$obj->something();

DI memberi Anda manfaat yang Anda sebutkan:kemampuan untuk dengan mudah mengganti db tanpa harus melakukan banyak pekerjaan dalam metode Anda. Ada manfaat lain, yaitu kemudahan pengujian.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP, MYSQL, tabel HTML dengan tablesorter

  2. mysql regex_replace :cara menggunakan grup regex sebagai pengganti

  3. str_replace di SQL UPDATE?

  4. Memantau Database Anda dengan MySQL Enterprise Monitor

  5. rake db:buat gagal di Win7 x64