Neste artigo será mostrada uma maneira de organizar e estruturar melhor o código fonte de um sistema desenvolvido em PHP utilizando conexão com banco de dados PostgreSQL.
Uma dificuldade existente na organização do código fonte de um sistema desenvolvido utilizando a linguagem PHP com banco de dados é o fato de se abrir conexão com o BD simultaneamente, que ao longo do desenvolvimento do sistema gera um número muito grande de linhas de código e dificulta o entendimento do mesmo.
Entende-se que uma vez estabelecida a conexão entre uma estação cliente e o servidor de Banco de Dados, a mesma pode ser aberta e fechada simultaneamente assim que for executada a ação requerida, devido ao fato desta ficar armazenada em memória Cache, o que facilita a próxima conexão e também deixa o servidor livre para outras conexões.
Outra dificuldade que pode ser encontrada em algumas formas de programar é a declaração das variáveis que recebe parâmetros da conexão em várias partes do código fonte do sistema, o que pode causar transtornos, caso venha a ser alterado algum parâmetro da conexão e aumentando assim a quantidade de linhas de código. Para resolver este problema o programador teria que editar todo o código fonte do sistema fazendo as alterações necessárias para se adequar ao novo ambiente.
Para amenizar esses problemas deve-se criar um arquivo separado com os parâmetros de conexão com o SGBD, assim toda e qualquer alteração que for feita para que o sistema se adapte ao ambiente alterado deve ser feita exclusivamente neste arquivo, reduzindo assim o trabalho do programador e diminuindo a quantidade de linhas de código, o que facilitaria o entendimento do mesmo.
Outra maneira de se empregar a reutilização do código e assim reduzir em um grande número as linhas do código fonte e também garantir que toda conexão que for estabelecida com o servidor de BD seja encerrada, ou seja, fechada, é criar uma função separada em um único arquivo que faça a conexão com o Banco, executa a ação requerida, retorne o resultado da execução e encerra a conexão.
[1] Comentário enviado por cvs em 14/06/2006 - 11:24h
Olha só quem eu encontro por aqui... E ae rapaz, bom? Hehehe... Estudo com você, pego SAD na mesma sala, sou o Thiago... interessante o artigo, vai ajudar num serviço aqui no trampo... mas eu preferiria mysql... hehehe
[4] Comentário enviado por removido em 14/06/2006 - 14:38h
falaaaaaaaaaa sr: Celio, legal seu artigo, muito bom ter lembrado de sempra fechar a conexão com o banco de dados, assim evita PhP Injection , o que pode ocasionar façanhas com codigos arbitrarios.
[5] Comentário enviado por sodeboa em 14/06/2006 - 20:25h
E ai meu brother só de boa ? legal seu artigo quando tiver mais um tempinho vou mexer nessa parada com mais detalhes qualquer duvida coloca aqui flw um abraço.
[8] Comentário enviado por sergioramiro em 14/09/2006 - 18:09h
Sr. Célio:
Estou seguindo ao pé da letra suas instruções, mas por algum motivo estou recebendo apenas mensagem de erro do meu servidor. favor veja a mensagem a seguir:
Fatal error: Call to undefined function: pg_connect() in C:\Inetpub\wwwroot\Governo\secretarias\codin\teste\conecta.php on line 2
quando eu passo estes parametros:
$conectabd = pg_connect("dbname= DbTeste port=5432 host = 10.1.0.202 user = sa password = pataconcio");
[9] Comentário enviado por gzanatta00 em 03/05/2007 - 19:58h
amigo é o seguinte eu quero executar um php com parametros por exemplo www.site.com.br/cadastro.php?codigo=1&nome=Gustavo
mas ele funciona a cadastro.php, mas dentro do registro ele nao esta conseguindo pegar as variaveis $codigo e $nome
[11] Comentário enviado por gzanatta00 em 24/05/2007 - 21:37h
esse paramentro é assim, eu tinha ele em outro servidor, e agora estou tentando trazer para este novo, e na proxima pagina ele iria pegar com o comando $codigo = ${"codigo"}
so que nao ta recebendo, ,eu acho q ta faltando algum componente para isso....vc saberia?
é a mesma coisa q acontece no http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=4525, eu precisaria pegar o valor ex: 4525
[12] Comentário enviado por virlei em 13/08/2007 - 14:11h
Prezado Célio,
Parabéns pelo excelente artigo. Serviu-me de guia para projetar uma solução PHP+Postgresql.
Apenas um detalhe: no arquivo cadastrar.php, a instrução SQL está com os campos e valores associados invertidos. Assim, a linha
$Sql = "Insert into tabela(nome, cpf) values('$cpf', '$nome')"
deve ser trocada para
$Sql = "Insert into tabela(nome, cpf) values('$nome', '$cpf')"
[13] Comentário enviado por celiojs em 14/08/2007 - 00:06h
Olá Virlei,
Saber que serviu de base para alguém é o que nos motiva a construir trabalhos assim.
Agradeço pela observação feita nesta parte do artigo.
Em breve estarei publicando um artigo mais avançado.
Desde já agradeço.
Célio