Tôi đã sử dụng PHP & MySQL cho các độ tuổi và sắp bắt đầu sử dụng PostgreSQL.Cách ưa thích để kết nối với cơ sở dữ liệu postgresql từ PHP là gì?
Phương pháp ưa thích là gì?
Có phải thông qua đối tượng PDO hoặc có điều gì đó tốt hơn không?
Tôi đã sử dụng PHP & MySQL cho các độ tuổi và sắp bắt đầu sử dụng PostgreSQL.Cách ưa thích để kết nối với cơ sở dữ liệu postgresql từ PHP là gì?
Phương pháp ưa thích là gì?
Có phải thông qua đối tượng PDO hoặc có điều gì đó tốt hơn không?
Đối tượng PDO là điểm nóng mới. Tôi khuyên bạn nên miễn là bạn có thể đảm bảo rằng nền tảng mục tiêu của bạn sẽ luôn chạy PHP 5.2+.
Có nhiều lớp trừu tượng cơ sở dữ liệu khác hỗ trợ PostgreSQL tương thích với các phiên bản cũ hơn của PHP; Tôi muốn giới thiệu ADODB.
Bạn thực sự nên sử dụng PDO hoặc một lớp trừu tượng khác ngay cả đối với công việc MySQL của bạn; theo cách đó bạn sẽ không gặp vấn đề này nữa!
Tôi, cá nhân, sử dụng PDO cho tất cả công việc cơ sở dữ liệu của tôi khi tôi có lựa chọn. Các câu lệnh chuẩn bị làm cho cuộc sống của tôi trở nên dễ dàng, và nó liền mạch giữa các hệ thống cơ sở dữ liệu - tiện dụng nếu bạn phải làm việc với một cái mà bạn không quen.
Nếu bạn muốn cuộn trừu tượng của riêng mình, hoặc đi với mô hình thủ tục, đây là chức năng Postgre: http://ca.php.net/manual/en/ref.pgsql.php
Tôi cũng sẽ khuyên bạn nên tạo một lớp PDO thừa hưởng hoặc một lớp wrapper nếu bạn quyết định không sử dụng PDO . Điều này sẽ giúp bạn linh hoạt hơn trong tương lai. I E. Đang tính toán thời gian thực hiện truy vấn.
Sử dụng Zend Db:
require_once 'Zend/Db.php';
$DB_ADAPTER = 'Pdo_Pgsql';
$DB_CONFIG = array(
'username' => 'app_db_user',
'password' => 'xxxxxxxxx',
'host' => 'localhost',
'port' => 5432,
'dbname' => 'mydb'
);
$db = Zend_Db::factory($DB_ADAPTER, $DB_CONFIG);
Tùy thuộc vào quy mô của ứng dụng của bạn, bạn có thể muốn xem xét số lượng kết nối đi đến backend. Sự đồng thuận dường như là các kết nối liên tục của PHP và PostgreSQL không hoạt động tốt với nhau, vì vậy một số thứ như pgpool-|| nên được sử dụng như một trung gian.
Ngoài ra còn có the pg_whatever functions, nhưng không sử dụng chúng.
Họ sử dụng trình điều khiển cơ sở dữ liệu cũ hơn, không bị đơn. PDO là con đường để đi.