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

Bagaimana Zend DB Mengelola Koneksi Database

Membuat Koneksi

Membuat instance kelas Adaptor tidak langsung terhubung ke server RDBMS . Adaptor menyimpan parameter koneksi, dan membuat koneksi aktual sesuai permintaan, pertama kali Anda perlu menjalankan kueri. Ini memastikan bahwa membuat objek Adaptor cepat dan murah. Anda dapat membuat instance Adaptor bahkan jika Anda tidak yakin bahwa Anda perlu menjalankan kueri basis data apa pun selama permintaan saat ini yang dilayani aplikasi Anda.

Jika Anda perlu memaksa Adaptor untuk terhubung ke RDBMS, gunakan metode getConnection(). Metode ini mengembalikan objek untuk koneksi yang diwakili oleh ekstensi database PHP masing-masing. Misalnya, jika Anda menggunakan salah satu kelas Adaptor untuk driver PDO, maka getConnection() mengembalikan objek PDO, setelah memulainya sebagai koneksi langsung ke database tertentu.

Mungkin berguna untuk memaksa koneksi jika Anda ingin menangkap pengecualian apa pun yang ditimbulkannya sebagai akibat dari kredensial akun yang tidak valid, atau kegagalan lain untuk terhubung ke server RDBMS. Pengecualian ini tidak dilempar sampai koneksi dibuat, sehingga dapat membantu menyederhanakan kode aplikasi Anda jika Anda menangani pengecualian di satu tempat, bukan pada saat kueri pertama terhadap database.

Selain itu, adaptor bisa mendapatkan serial untuk menyimpannya, misalnya, dalam variabel sesi. Ini bisa sangat berguna tidak hanya untuk adaptor itu sendiri, tetapi untuk objek lain yang menggabungkannya, seperti objek Zend_Db_Select. Secara default, adaptor diperbolehkan untuk diserialisasi, jika Anda tidak menginginkannya, Anda harus mempertimbangkan untuk melewatkan opsi Zend_Db::ALLOW_SERIALIZATION dengan FALSE, lihat contoh di atas. Untuk menghormati prinsip koneksi malas, adaptor tidak akan menyambung kembali sendiri setelah tidak diserialisasi. Anda kemudian harus memanggil getConnection() sendiri. Anda dapat membuat adaptor terhubung kembali secara otomatis dengan meneruskan Zend_Db::AUTO_RECONNECT_ON_UNSERIALIZE dengan TRUE sebagai opsi adaptor.

Menutup Koneksi

Biasanya tidak perlu menutup koneksi database. PHP secara otomatis membersihkan semua sumber daya dan akhir permintaan. Ekstensi basis data dirancang untuk menutup koneksi saat referensi ke objek sumber daya dibersihkan.

Namun, jika Anda memiliki skrip PHP berdurasi panjang yang memulai banyak koneksi database, Anda mungkin perlu menutup koneksi, untuk menghindari menguras kapasitas server RDBMS Anda. Anda dapat menggunakan metode closeConnection() Adaptor untuk secara eksplisit menutup koneksi database yang mendasarinya.

Sejak rilis 1.7.2, Anda dapat memeriksa bahwa Anda saat ini terhubung ke server RDBMS dengan metode isConnected(). Ini berarti bahwa sumber koneksi telah dimulai dan tidak ditutup. Fungsi ini saat ini tidak dapat menguji, misalnya, penutupan sisi server dari koneksi. Ini digunakan secara internal untuk menutup koneksi. Ini memungkinkan Anda untuk menutup koneksi beberapa kali tanpa kesalahan. Itu sudah terjadi sebelum 1.7.2 untuk adaptor PDO tetapi tidak untuk yang lain.

Informasi selengkapnya




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Beberapa Database menggunakan PDO

  2. Cara mendapatkan nilai kunci utama peningkatan otomatis di MySQL menggunakan Hibernate

  3. Kesalahan saat memasang mysql2:Gagal membuat ekstensi asli permata

  4. Django ManyToMany melalui beberapa database

  5. 100% cara aman untuk menyimpan html di MySQL