Jawabannya mana yang lebih baik adalah "itu tergantung." Seperti apa pun, ada berbagai pendekatan yang berbeda dan Anda juga harus ingat bahwa kode yang menggunakan objek tidak harus berorientasi objek tetapi masih dapat ditulis secara prosedural. Dalam nada yang sama, kode yang tidak menggunakan objek masih dapat bersifat modular.
Saya akan memilih untuk menggunakan mysqli
kelas setiap waktu, meskipun. Tidak ada perbedaan yang signifikan dalam kinerja. Anda mungkin tidak akan menyadari beberapa keuntungan menggunakan kelas DB seperti polimorfisme yang disederhanakan, jadi satu-satunya argumen saya untuk menggunakan kelas adalah bahwa saya lebih suka sintaks. Namun, daripada menggunakan mysqli
secara langsung saya mungkin akan merekomendasikan agar Anda memperluas atau menyusunnya. Anda hanya dapat melakukan ini dengan kelas.
class DB extends mysqli {
public function __construct() {
parent::__construct($_SERVER['DB_HOST'],
$_SERVER['DB_USER'], $_SERVER['DB_PASS']);
}
}
Ini adalah contoh yang sangat dangkal.
Contoh polimorfisme yang saya bicarakan di atas adalah seperti ini:
class User implements DAO {
private $db;
public function __construct(DB $db) {
$this->db = $db;
}
}
//Testing code is simplified compared to using it in production
class TestDB extends DB {}
new User(new TestDB);
new User(new DB);
Omong-omong, saya pasti lebih suka PDO
melalui mysqli