Arquivo de Configuração Seg, 21 de janeiro de 2008 - as 08h04
A configuração de Lumine é feita através de uma matriz associativa, contendo os valores necessários para que a comunicação com o banco de dados seja feita.
Não é mais necessário declarar dentro do arquivo de configuração quais classes pertencem a esta configuração.
Abaixo um exemplo de arquivo de configuração:
'dialect' => 'MySQL',
'database' => 'meu_banco',
'user' => 'username',
'password' => '****',
'port' => '3306',
'host' => 'localhost',
'class_path' => '/var/www/public_html',
'package' => 'entidades',
'schema_name' => '',
'generate_files' => '1',
'generate_zip' => '',
'class_sufix' => '',
'remove_count_chars_start' => '',
'remove_count_chars_end' => '',
'remove_prefix' => '',
'create_entities_for_many_to_many' => '',
'plural' => 's',
'many_to_many_style' => '',
'create_controls' => '',
'xml_validation_path' => '/www/xml_validators',
'php_validator_path' => '/www/custom_validators'
)
);
Vejamos os itens da matriz de configuração:
- dialect: dialeto (tipo de banco de dados) a ser usado. Atualmente suportados: MySQL e PostgreSQL;
- database: nome do banco de dados a ser usado;
- user: nome do usuário para conectar no banco de dados;
- password: senha para conexão com o banco de dados;
- port: porta de conexão com o banco;
- host: host de conexão com o banco;
- class_path: pasta raiz onde estão gravados os arquivos do Lumine. Por exemplo, se suas classes estão dentro de um pacote (package) entidades, e estão dentro do diretório /www/meusite, então suas class-path é /www/meusite;
- package: nome do pacote onde estão gravados os arquivos (estilo Java). Por exemplo, se você deseja criar o pacote entidades, e sua class_path (pasta raiz) é /www/meusite, então seus arquivos de mapeamento do banco devem estar dentro da pasta /www/meusite/entidades;
- options: nesta parte da configuração, serão usadas configurações opcionais, que podem ou não ser usados:
- schema_name: quando trabalhando com o PostgreSQL, você poderá especificar o schema utilizado por suas tabelas. Quando trabalhando com o MySQL, você poderá colocar opcionalmente o nome do banco de dados, assim sempre será realizada a consulta no sentido nome_do_banco.nome_da_tabela (pois não há suporte a schema);
- generate_files: opção da engenharia reversa para gerar os arquivos diretamente na pasta de destino;
- generate_zip: opção da engenharia reversa para gerar um arquivo ZIP dentro da pasta indicada em class_path contendo os arquivos gerados pelo processo de engenharia reversa;
- class_sufix: opção para utilizar um sufixo nos arquivos gerados pela engenharia reversa. Por exemplo, para que os seus arquivos sejem gerados no formato Minhaclass.class.php, coloque nesta opção o valor class. O padrão é nulo, sendo gerado no formato Minhaclass.php;
- remove_count_chars_start: opção para remover um número determinado de caracteres no início do nome da tabela para gerar a classe. Por exemplo, se sua tabela tem o nome de tbl_produtos, e você deseja remover tbl_, utilize o valor 4, assim sua classe será criada como Produtos.php. Lembre-se que ele removerá os 4 primeiros caracteres de todas as tabelas encontradas;
- remove_count_chars_end: funciona de forma semelhante ao anterior, porém remove os n caracteres no final do nome da tabela;
- remove_prefix: se ao invés de um número determinado de caracteres você deseja remover um prefixo específico, você poderá defini-lo neste item. Por exemplo, se você deseja remover o prefixo de todas as tabelas que contém no inínio de seu nome o valor table_, indique table_ neste item, assim tabelas nomeadas como table_produtos, table_pessoas, terão suas classes geradas como Produtos.php, Pessoas.php.
- create_entities_for_many_to_many: por padrão, Lumine não gera entidades para tabelas de relacionamento muitos-para-muitos. Caso deseje gerar estas entidades, especifique 1 para esta opção;
- plural: expressão utilizada para colocar em formato de plural os campos de relacionamento muitos-para-muitos ou um-para-muitos.
- create_controls: cria formulários básicos de controle para edição dos dados contidos no banco.
- xml_validation_path: Caminho alternativo para gravar seus arquivos de validação das classes, descritos em XML.
- php_validator_path: Caminho onde você terá suas classes em PHP para validações personalizadas.
- use_formatter_as_default: Permite que você utilize os formatadores de campo e retorne seus resultados como padrão quando acessar um campo. Por exemplo, se você fizer echo $obj->nome, Lumine irá checar se há formatadores para este campo, executá-los e retornar seu valor.
Só para reforçar: Supondo que você tenha definido sua class_path como /www/meusite, e colocou no atributo package como com.domain.classes, suas classes deverão estar dentro da pasta /www/meusite/com/domain/classes.