-4

Padronização e uso de objetos

criado por Yudi Hirata em 24/09/2002 1:28pm
Agora imagine isto numa aplicação que tenha de mudar de banco de dados. No caso da mudança de MySQL para MsSql a diferença que aparentemente é sutil não deixa de ser trabalhosa.

Veja o mesmo com padronização:

<?php
$dbDataBase               = new IDataBase;
$dbDataBase->Name         = "dbDataBase ";
$dbDataBase->DataBaseName = 'dbTeste';
$dbDataBase->Driver       = 'MySql';
$dbDataBase->Host         = HOST;
$dbDataBase->User         = USER
$dbDataBase->Password     = SENHA;
$dbDataBase->Connect();
?>

Você acaba escrevendo mais, porém o código fica muito mais organizado, simples e de fácil manutenção. E no caso de mudança de banco de dados é só mudar a propriedade do objeto 'Driver' para o banco que você deseja. Para tornar mais fácil ainda é só criar um arquivo com as definições do banco de dados.

Comentários:

Mostrando 1 - 8 de 8 comentários
Muito bom o seu artigo Yudi!
A tendencia do php futuramente é caminhar para total abstracao OO.
Facilitando cada vez mais os desenvolvimentos!
Trabalho com PHP praticamente todo OO adaptando metodos de um framework PHP OO(http://www.miolo.org.br) para a area academica da instituicao onde trabalho.

Se alguem se interessar em dar uma olhada:
http://www.miolo.org.br
27/12/2004 8:32am (~19 anos atrás)

A ADODB faz abstração das sqls também.

Basta o usar o ISO na &ADODB->Execute()
Já com suporte a trasações e tudo.

A PEAR tb é muito boa.
29/09/2002 10:29pm (~21 anos atrás)

Como já citaram o artigo está legal,
mas, acho que não é a solução total.

O exemplo que você citou de sql por exemplo é incompatível com o mysql.

Camadas de abstração facilitam na mudança de banco de dados, mas dificultam na hora de montar sqls.

Você ganha de um lado e perde do outro.
Acredito que o melhor é separar scripts de conexão e sqls dos outros scripts.

Facilitando a alteração futura inevitável.
São só comentários, parabéns pela iniciativa.
28/09/2002 12:33am (~21 anos atrás)

Parabéns pelo artigo, mais gostaria de acrecentar algo:

Isso já foi dito aqui mesmo não me lembro quando, mais a questão é que mesmo que fassamos uma class para padronização a conexão com o banco de dados devemos levar em conta que cada banco de dados implementa a SQL de uma maneira diferente, por isso o uso de uma class tira apenas parte do trabalho de reescrever o código quando mudamos de banco de dados mais mesmo assim somos obrigados a editar as struções SQL.
27/09/2002 10:38am (~21 anos atrás)

Yudi Hirata disse:
Caro Daniel,
Tenho conhecimento das limitações quanto a parte de OOP no PHP, no entato este artigo tem somente a finalidade de demostrar uma das vantagens do uso de objetos e não apresentar a forma correta de como implementar o uso de objetos a nivel de camadas.
Value pelo comentario construtivo
25/09/2002 10:36am (~21 anos atrás)

A classe "METABASE" do Manuel Lemos tbm é muito boa, pode ser encontrada em www.phpclasses.org

:-)
25/09/2002 8:09am (~21 anos atrás)

Lyma disse:
Olá!

Muito bom o artigo porém como não sou muito familiarizado com objetos e classes em PHP fiquei meio perdido... o artigo prometido sobre construção de objetos sai em breve?

:)

Um grande abraço,

Lyma
http://www.lymas.com.br
25/09/2002 6:33am (~21 anos atrás)

Olá,

Parabéns pelo artigo, essa idéia de classe para acesso à banco de dados e até mesmo à outros tipos de tarefas ainda não tinha flasheado em minha mente. Vou levá-las daqui em diante para uso em projetos de maior porte.

Att,

Fábio
24/09/2002 3:45pm (~21 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)