PHP bir PostgreSQL veritabanına bağlanmak için tercih edilen yolu nedir?

6 Cevap php

Ben PHP kullanarak & oldum Yaş için MySQL ve PostgreSQL yerine kullanmaya başlamak üzereyim.

Tercih edilen yöntem nedir?

Bu PDO nesneler üzerinden mi veya daha iyi bir şey var mı?

6 Cevap

PDO nesneleri yeni hotness bulunmaktadır. Ben sürece hedef platformu her zaman PHP 5.2 + çalışan olacak sağlamak gibi tavsiye ederim.

PHP'nin eski sürümleri ile uyumlu olan PostgreSQL destekleyen diğer birçok veritabanı soyutlama katmanları vardır; Ben tavsiye ederim ADODB.

Eğer gerçekten PDO hatta MySQL iş için farklı bir soyutlama katmanı kullanarak olmalıdır; Bu yolu tekrar bu sorunu olmaz!

Zend Db kullanma:

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);

Ben seçim olduğunda ben, şahsen, benim tüm veritabanı iş için PDO kullanabilirsiniz. Hazırlanan tablolar hayatımı kolaylaştırmak, ve veritabanı sistemleri arasında sorunsuz - Eğer alışık değiliz biri ile çalışmak zorunda kullanışlı.

Kendi soyutlama rulo, ya da prosedürel modeli ile gitmek isterseniz, buraya Postgre işlevleri bulunuyor: http://ca.php.net/manual/en/ref.pgsql.php

Orada the pg_whatever functions de vardır, ama bunları kullanmayın.

Onlar eski, bakımsız veritabanı sürücüleri kullanın. PDO gitmek için yoludur.

Ben de PDO kullanmaya karar verirseniz bir kalıtsal PDO sınıf veya bir sarıcı sınıf oluşturma öneririm. Bu, gelecekte çok daha fazla esneklik sağlayacaktır. yani. Sorgu yürütme süresi hesaplanıyor.

Başvurunuzun ölçeğine bağlı olarak, arka uç giden bağlantı sayısını dikkate isteyebilirsiniz. Konsensüs PHP kalıcı bağlantılar ve PostgreSQL birlikte iyi çalışmaz, bu yüzden bir şey gibi pgpool-|| bir arabulucu olarak kullanılması gerektiğini gibi görünüyor.