Deprecated: mysql_escape_string(): This function is deprecated; use mysql_real_escape_string() instead. in /home/hufersil/hufersil.com.br/system/libraries/lumine/lib/Connection/MySQL.php on line 516
HUFERSIL WEBDEVELOPER - Arquivo de Configuração

HUFERSIL.WEBDEVELOPER - Soluções com qualidade - Hugo Ferreira da Silva

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:

  1. $lumineConfig = array(
  2.     'dialect' => 'MySQL',
  3.     'database' => 'meu_banco',
  4.     'user' => 'username',
  5.     'password' => '****',
  6.     'port' => '3306',
  7.     'host' => 'localhost',
  8.     'class_path' => '/var/www/public_html',
  9.     'package' => 'entidades',
  10.  
  11.        
  12.     'options' => array(
  13.         'schema_name' => '',
  14.         'generate_files' => '1',
  15.         'generate_zip' => '',
  16.         'class_sufix' => '',
  17.         'remove_count_chars_start' => '',
  18.         'remove_count_chars_end' => '',
  19.         'remove_prefix' => '',
  20.         'create_entities_for_many_to_many' => '',
  21.         'plural' => 's',
  22.         'many_to_many_style' => '',
  23.         'create_controls' => '',
  24.         'xml_validation_path' => '/www/xml_validators',
  25.         'php_validator_path' => '/www/custom_validators'
  26.     )
  27. );

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.