Qual é a forma preferida para se conectar a um banco de dados postgresql no PHP?

StackOverflow https://stackoverflow.com/questions/10532

  •  08-06-2019
  •  | 
  •  

Pergunta

Eu estive usando PHP & MySQL para as idades e estou prestes a começar a utilizar o PostgreSQL em vez disso.

O que é o método preferido?

É através do DOP objetos ou existe algo melhor?

Foi útil?

Solução

DOP objetos são o novo gostosura.Eu recomendo que, como você pode garantir que sua plataforma de destino será sempre o PHP 5.2+.

Há muitas outras camadas de abstração de banco de dados que suporte a PostgreSQL que são compatíveis com versões mais antigas do PHP;Eu recomendo ADODB.

Você deve realmente estar usando DOP ou uma camada de abstração até mesmo para o seu MySQL trabalho;de que forma você não terá esse problema novamente!

Outras dicas

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

Eu, pessoalmente, uso o PDO para todo o meu trabalho de banco de dados quando eu tenho a escolha.Instruções preparadas fazer a minha vida mais fácil, e é transparente entre sistemas de banco de dados - útil se você tiver que trabalhar com um que você não está acostumado.

Se você quer construir sua própria abstração, ou ir com o procedimento do modelo, aqui está o Postgre funções: http://ca.php.net/manual/en/ref.pgsql.php

Há também o pg_whatever funções, mas não usá-los.

Eles usam mais velhos, sem manutenção drivers de banco de dados. DOP é o caminho a percorrer.

Também gostaria de sugerir a criação de uma herança DOP classe ou uma classe de wrapper se você decidir não usar o PDO.Isso iria fornecer-lhe com muito mais flexibilidade no futuro.ou seja.Calculando o tempo de execução da consulta.

Dependendo da escala do seu aplicativo, você pode querer considerar o número de conexões indo para o back-end.O consenso parece ser de que o PHP conexões persistentes e PostgreSQL não funcionam bem juntos, algo assim como pgpool-|| deve ser usado como um intermediário.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top