Tạo kết nối
Tạo một thể hiện của một lớp Adaptor không ngay lập tức kết nối đến máy chủ RDBMS. Bộ điều hợp lưu các thông số kết nối và thực hiện kết nối thực tế theo yêu cầu, lần đầu tiên bạn cần thực hiện truy vấn. Điều này đảm bảo rằng việc tạo ra một đối tượng Adapter là nhanh chóng và không tốn kém. Bạn có thể tạo một thể hiện của một Adapter ngay cả khi bạn không chắc chắn rằng bạn cần phải chạy bất kỳ truy vấn cơ sở dữ liệu nào trong yêu cầu hiện tại mà ứng dụng của bạn đang phục vụ.
Nếu bạn cần buộc Bộ điều hợp kết nối với RDBMS, hãy sử dụng phương thức getConnection(). Phương thức này trả về một đối tượng cho kết nối như được đại diện bởi phần mở rộng cơ sở dữ liệu PHP tương ứng. Ví dụ, nếu bạn sử dụng bất kỳ lớp Adapter nào cho các trình điều khiển PDO, thì getConnection() trả về đối tượng PDO, sau khi khởi tạo nó như một kết nối trực tiếp đến cơ sở dữ liệu cụ thể. Có thể hữu ích khi buộc kết nối nếu bạn muốn bắt bất kỳ trường hợp ngoại lệ nào nó phát sinh do kết quả của thông tin đăng nhập tài khoản không hợp lệ hoặc không kết nối với máy chủ RDBMS khác. Những ngoại lệ này không được ném cho đến khi kết nối được tạo ra, vì vậy nó có thể giúp đơn giản hóa mã ứng dụng của bạn nếu bạn xử lý các ngoại lệ ở một nơi, thay vì tại thời điểm truy vấn đầu tiên đối với cơ sở dữ liệu.
Ngoài ra, bộ điều hợp có thể được đăng theo thứ tự để lưu trữ, ví dụ: trong biến phiên. Điều này có thể rất hữu ích không chỉ cho chính bộ điều hợp, mà còn cho các đối tượng khác tổng hợp nó, giống như đối tượng Zend_Db_Select. Theo mặc định, bộ điều hợp được phép được tuần tự hóa, nếu bạn không muốn nó, bạn nên xem xét việc chuyển tùy chọn Zend_Db :: ALLOW_SERIALIZATION bằng FALSE, xem ví dụ trên. Để tôn trọng các nguyên tắc kết nối lười biếng, bộ điều hợp sẽ không kết nối lại chính nó sau khi được unserialized. Sau đó, bạn phải gọi getConnection(). Bạn có thể làm cho bộ điều hợp tự động kết nối lại bằng cách truyền Zend_Db :: AUTO_RECONNECT_ON_UNSERIALIZE với TRUE làm tùy chọn bộ điều hợp.
Đóng một kết nối
Thông thường nó không phải là cần thiết để đóng một kết nối cơ sở dữ liệu. PHP tự động dọn sạch tất cả các tài nguyên và kết thúc một yêu cầu. Các phần mở rộng cơ sở dữ liệu được thiết kế để đóng kết nối khi tham chiếu đến đối tượng tài nguyên được làm sạch.
Tuy nhiên, nếu bạn có một tập lệnh PHP dài hạn khởi tạo nhiều kết nối cơ sở dữ liệu, bạn có thể cần phải đóng kết nối, để tránh làm cạn kiệt dung lượng của máy chủ RDBMS của bạn. Bạn có thể sử dụng phương thức closeConnection() của Adapter để đóng một cách rõ ràng kết nối cơ sở dữ liệu bên dưới.
Kể từ khi phát hành 1.7.2, bạn có thể kiểm tra bạn hiện đang kết nối với máy chủ RDBMS với phương thức isConnected(). Điều này có nghĩa là tài nguyên kết nối đã được khởi tạo và không bị đóng. Chức năng này hiện không thể kiểm tra ví dụ như đóng một phía máy chủ của kết nối. Đây là nội bộ sử dụng để đóng kết nối. Nó cho phép bạn đóng kết nối nhiều lần mà không có lỗi. Nó đã được các trường hợp trước khi 1.7.2 cho PDO adapter nhưng không cho những người khác.
More information