+2

Desenvolvimento com o PEAR::DataObjects

criado por Ronaldo Campos de Oliveira em 13/07/2006 5:51am
3- Configuração

Todos os tutoriais que li para aprender a manusear essa classe eram bem explicativos, mas a falta de exemplos me deixaram muitas duvidas. Vou mostrar como trabalhar com o DataObject baseado em um exemplo prático bem simples.

Criarei as sequintes tabelas em uma base de dados mysql chamada test:

CREATE TABLE cidade (
  id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  estado_id INTEGER UNSIGNED NOT NULL,
  nome VARCHAR(50) NULL,
  PRIMARY KEY(id),
);

CREATE TABLE estado (
  id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  nome VARCHAR(50) NULL,
  PRIMARY KEY(id)
);

INSERT INTO `estado` ( `id` , `nome` ) VALUES ('1', 'Paraná');
INSERT INTO `estado` ( `id` , `nome` ) VALUES ('2', 'São Paulo');
INSERT INTO `cidade` ( `id` , `estado_id` , `nome` ) VALUES ('1', '1', 'CCuritiba');
INSERT INTO `cidade` ( `id` , `estado_id` , `nome` ) VALUES ('2', '1', 'Cascavel');
INSERT INTO `cidade` ( `id` , `estado_id` , `nome` ) VALUES ('3', '2', 'São Paulo');
INSERT INTO `cidade` ( `id` , `estado_id` , `nome` ) VALUES ('4', '2', 'Santos');

Agora criarei uma pasta dentro de meu localhost para os arquivos. Inicialmente criarei um arquivo de configuração, para que a classe possa conectar com meu banco de dados. Nomearei o arquivo como db.ini:

[DB_DataObject]
database = mysql://root:senha@localhost/test
    usuario:senha@servidor/nome do BD
schema_location = C:\www\testes\artigo\
    Local onde estao os arquivos
class_location  = C:\www\testes\artigo\
    Local onde as classes serão criadas
require_prefix  = DataObjects/
    Pasta onde a classe DataObject se encontra
class_prefix    = DO_
    Prefixo das classes, Ex: DO_cidade
debug = 0
    Mensagens de debug, 0 nao mostra nada

Salve esse arquivo (sem os comentários) dentro da pasta que você criou no localhost.

Agora para gerar os objetos execute o arquivo createTables.php que está dentro da pasta DataObject, passando como parametro o arquivo .ini criado. Ex:

C:\php4>php.exe includes\pear\DB\DataObject\createTables.php db.ini

Atenção o endereço do arquivo deve ser passado em relação ao arquivo createTables.php, no exemplo eu passei o arquivo direto porque fiz uma copia para o mesmo diretório apenas para facilitar, voce pode fazer o mesmo, mas não remova o original do local de origem. Para executar no linux basta substituir o php.exe por apenas php.

Após executar o comendo apenas verifique na pasta setada como class_location se os arquivos foram criados.

Comentários:

Nenhum comentário foi enviado ainda.

Novo Comentário:

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