+1

Creole - Abstraindo o Acesso ao Banco de Dados

criado por Marlon Silva Carvalho em 24/02/2005 10:14pm
A instalação do Creole é bastante simples. Conforme o seu site, esta instalação pode ser realizada através do PEAR ou de forma direta. Cobriremos aqui a forma direta, que certamente será a utilizada na maioria dos casos. Portanto, você deve baixar a versão mais recente, neste caso, utilizaremos a versão 1.0.0, que pode ser obtida em: http://creole.tigris.org/files/documents/996/18148/creole-1.0.0.tar.gz

Nos interessa na estrutura de diretórios criada após a descompactação, o diretório classes, contido na raiz. Este diretório mantém todos os arquivos com extensão .php onde estão as classes que utilizaremos no decorrer deste artigo. Assim, é necessário colocar este diretório no include_path da sua aplicação. Existem duas formas principais para fazer isto. Uma destas diz que devemos copiar o diretório <creole>/classes/creole para o diretório /usr/lib/php ou, de forma mais simples, criar um link simbólico neste diretório através do comando ln -s <creole>/classes/creole /usr/lib/php/creole.

A segunda forma pode ser através da utilização da função set_include_path() do próprio PHP (apropriada para os usuários Windows). Portanto, basta ter o seguinte comando em seu script:

<?php
set_include_path("<creole>/classes/creole:" . get_include_path());
require_once ( "creole/Creole.php" ) ;
?>

Uma vez feito isto, estamos aptos a utilizar todo o potencial desta grande ferramenta.

Comentários:

Mostrando 1 - 9 de 9 comentários
Baruch Ramses disse:
Bom artigo! Parabéns pela exposição clara e eficiente.Estou implementando o Creole e caso necessite de ajuda já sei a quem recorrer.
29/06/2005 11:09am (~16 anos atrás)

Muito bom o artigo e o framework. É uma mão na roda, já que o php não tem a parte de banco muito boa e sempre temos que implementar. O creole pelo que eu vi aqui no artigo é bem fiel ao JDBC. Agora vou ali baixar e testar... vlw ae pela dica :))
13/06/2005 12:00am (~16 anos atrás)

Erick,
O Creole trata excecoes de forma bem parecida com o JDBC.
22/04/2005 3:23pm (~16 anos atrás)

Erick Melo disse:
Achei interessante essa API. Agora ficou uma dúvida:

No JAVA é necessário fazer um tratamento de exceções quando se trabalha com Banco de Dados.

No caso dessa biblioteca Creole, como são tratadas as excessões? Existe algum tratamento eficaz?
21/04/2005 3:21pm (~16 anos atrás)

Fico devendo uma resposta mais completa, entretanto, até onde conheco esta biblioteca, ela não suporta este tipo de transacão.

Isto principalmente devido à "natureza desconectada" do PHP, diferente dos Servlets do Java. Ainda não fiz nenhum teste sobre isso, mas pelo que conheco do PHP, tenho quase certeza que não é possível fazer o que você pretende. Também não sei se com conexões persistentes é possível.
28/02/2005 1:24pm (~16 anos atrás)

Kelvin Weiss disse:
Com esta biblioteca, temos um controle real de transações? Por exemplo, abrir uma transação na pagina cadastro_inicio.php e terminá-la na página cadastro_fim.php?

Isso no caso por exemplo de nota fiscal x item, onde um NF só pode ser gravada no momento em que um item for inserido.

obrigado.
28/02/2005 12:29pm (~16 anos atrás)

Sim, o ADODb é muito bom. Já o utilizei em um projeto grande e o rendimento dele foi satisfatório. Acredito que cada um deve usar o framework que atende melhor aos seus requisitos.
Imagine que você tenha uma equipe de bons programadores Java, e que precisam agora entrar em um projeto em PHP. Naturalmente, tempo é dinheiro, logo a solucão mais viável é utilizar algo similar e que os programadores já tem conhecimento, como o Creole.
Mas concordo sim que o ADODb é uma solucão excelente e que merece ser vista, o Creole é mais uma opcão e boa opcão. Cada um tem seus prós e contras, cabe a cada um avaliar a que melhor se adapta as suas necessidades.
25/02/2005 3:45pm (~16 anos atrás)

Marcelio Leal disse:
Achei interessante o artigo, não conhecia o framework, mas pelo que vi na documentação o ADODB ainda é bem melhor.

Na verdade eu acho a idéia do ADODB é melhor que a do JDBC, é muito show pq utiliza a mesma metodologia que o pessoal do PHP pensou tb.

PEAR::DB também é interessante.

Lá no site do ADODB tem uma comparação.
25/02/2005 3:36pm (~16 anos atrás)

parabéns Marlon, este artigo foi muito útil para mim!
25/02/2005 9:26am (~16 anos atrás)

Novo Comentário:

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