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

Bagaimana cara menggunakan $db dari .php lain ke kelas .php lain menggunakan OOP?

Anda sebaiknya membuat DB kelas atau memanfaatkan yang sudah dibuat untuk mencapai apa yang Anda coba lakukan.

Alur biasa untuk hal-hal seperti ini adalah panggilan Lazy Loading/Dependency Injection . Di mana Anda meneruskan objek yang diperlukan ke dalam kelas.

Seperti yang Dinyatakan Ben di komentar :

Sisi yang tidak disebutkan di atas, sebaiknya lihat PHPTheRightWay , mereka mencantumkan banyak barang, termasuk Injeksi Ketergantungan .

Anda akhirnya akan membuat sesuatu seperti. Akan lebih baik jika Anda mengikuti contoh ini untuk memahami cara kerjanya:

Class DB {

    function __construct($host, $user, $pass, $db) { 
        return $this->connect($host, $user, $pass, $db); 
    }

    function connect($host, $user, $pass, $db) {
        //..connect and all.
    }

    //...the rest of your functions/class...
}
 

Sekarang kita sampai pada hal-hal yang menyenangkan. Sebenarnya menyuntikkannya ke kelas Anda;

Class Foo {

    $private $db;

    // your construct method here will ONLY except a `DB` class instance/object as $db. 
    // Try it with anything else and learn from the errors to understand what I mean.
    function __construct(DB $db){
        $this->db = $db;
    }

}

$db = new DB($host, $user, $pass, $db);
// you can error check it here

$foo = new Foo($db);// inject the $db object.
 

Jika Anda hanya ingin berbagi sumber daya, Anda dapat memanfaatkan global , tetapi sangat tidak disarankan .

include('connection.db.php');

class MySQLqueries {
        public function samplefunction($queryString) {
            global $db;
            $sqlQry = mysqli->query($queryString);

            return ($sqlQry) ? "<pre>Query Executed Successfully</pre>" : die("<pre>An error occured -> $db->error</pre>");
        }
}
 



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Instal MySQL-Python - Tidak dapat membuat telur

  2. Wildcard di Java ReadyStatements

  3. Mengurai JSON ke tabel MySQL

  4. Parsing String ke mysql Tanggal

  5. MySQL tidak mau mati:Hentikan server:ERROR! File PID server MySQL tidak dapat ditemukan!