Mengurus Sambungan Pangkalan Data dalam PHP: Singleton vs. Global
Dalam PHP, pengendalian sambungan pangkalan data dengan berkesan adalah penting untuk membina aplikasi yang mantap. Pembangun sering berdebat antara menggunakan pembolehubah global atau corak tunggal untuk tugasan ini.
Pembolehubah Global: Pendekatan Mudah
Pembolehubah global membenarkan skop global untuk pembolehubah, menjadikan ia boleh diakses sepanjang skrip. Walaupun mudah untuk sambungan pangkalan data, pendekatan ini mempunyai kelemahan:
$conn = new PDO(...); function getSomething() { global $conn; // ... }
Corak Singleton: Sambungan Merangkum
Corak tunggal mencipta satu tika kelas yang merangkum sambungan pangkalan data. Ini memastikan satu titik akses kepada sambungan:
class DB_Instance { private static $db; public static function getDBO() { if (!self::$db) { self::$db = new PDO(...); } return self::$db; } } function getSomething() { $conn = DB_Instance::getDBO(); // ... }
Kilang Singleton: Meningkatkan Fleksibiliti
Variasi pada corak singleton ialah kilang singleton yang membenarkan konfigurasi dan kebolehlanjutan:
class ConnectionFactory { private static $factory; private $db; public static function getFactory() { if (!self::$factory) { self::$factory = new ConnectionFactory(...); } return self::$factory; } public function getConnection() { if (!$this->db) { $this->db = new PDO(...); } return $this->db; } } function getSomething() { $conn = ConnectionFactory::getFactory()->getConnection(); // ... }
Pendekatan Alternatif
Selain pembolehubah global dan tunggal, pendekatan lain untuk mengurus pangkalan data sambungan termasuk:
Akhirnya, pendekatan terbaik bergantung pada keperluan aplikasi khusus dan tahap fleksibiliti dan kawalan yang diingini ke atas sambungan pangkalan data.
Atas ialah kandungan terperinci Sambungan Pangkalan Data PHP: Pembolehubah Singleton atau Global – Pendekatan Mana Yang Terbaik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!