Creole - Abstraindo o Acesso ao Banco de Dados
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:
Uma vez feito isto, estamos aptos a utilizar todo o potencial desta grande ferramenta.
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.
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
(~19 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
(~19 anos atrás)
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?
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
(~19 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.
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
(~20 anos atrás)
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.
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
(~20 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.
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
(~20 anos atrás)
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.
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
(~20 anos atrás)