HUFERSIL.WEBDEVELOPER

Lumine – Tutorial 2 – Iniciando com controles básicos

Olá,

Hoje vamos ver como incluir dados em nosso banco para que possamos começar a trabalhar.
Exemplificarei utilizando a classe Usuario. A partir dela, você poderá fazer para suas outras classes.

Este processo também poderia ser feito com a Engenharia Reversa, mas decidi fazer manualmente para que vocês conheçam um pouco mais dos recursos de Lumine.

Veremos:

  • Como criar um arquivo de configuração geral;
  • Como criar controles básicos de edição usando a classe Lumine_Form_BasicForm;

Criando um arquivo de configuração geral

Sempre que estamos trabalhando em um projeto em que faremos a configuração com um banco de dados, é interessante manter estes dados (inicialização com o banco, inicialização com outras configurações com o servidor) em um único lugar, assim ficará mais fácil para futuras alterações.
Seguindo esta linha, crie um novo arquivo na raiz de nosso projeto no Eclipse PDT, chamado config.php. Coloque o seguinte conteudo:

<?php// importa a biblioteca do Luminerequire_once 'lumine/Lumine.php';

// importa as configurações do Luminerequire_once 'lumine-conf.php';

// inicia as configurações do lumine$cfg = new Lumine_Configuration($lumineConfig);

Nota importante: Note que no código acima, eu não coloquei a tag de fechamento de PHP. Como não utilizaremos marcação HTML, é interessante deixarmos sem o fechamento mesmo, pois assim evitamos qualquer saída indesejada ao final do arquivo. Esta também é uma prática orientada pela Zend.

Agora, sempre que precisarmos criar um arquivo que utilize o Lumine, basta incluirmos este arquivo no inicio e todas as configurações necessárias serão carregadas "automagicamente".

Criando um arquivo de controle para a classe Usuario

Vamos criar agora um formulário básico de edição para controle dos dados dos usuários.
Crie um arquivo chamado usuarios.php na raiz do projeto.

Coloque o seguinte conteúdo nele:

<?php

// importa as configurações padrãorequire_once 'config.php';

// importa a classe de formulario do LumineLumine::load('Form_BasicForm');

// importa a classe de usuarioLumine::import('Usuario');

// inicia um objeto de usuario$usuario = new Usuario();

// inicia o formulario$form = new Lumine_Form_BasicForm( $usuario );

// limite de registros por página$limite = 20;// registro atual$offset = empty($_REQUEST['offset']) ? 0 : $_REQUEST['offset'];

// Cria os campos de ediçãoecho $form->createForm();

// cria a lista de registrosecho $form->showList($offset, $limite);

Acesse agora pelo o navegador o endereço onde você gravou o arquivo (por exemplo: http://localhost/teste/usuarios.php). Deverá ser exibida uma tela semelhante a abaixo:

Por enquanto, não está sendo efetuada nenhuma ação, ou seja, se clicar nos botões Salvar ou Inserir, nenhuma ação será tomada.
Como pode ser notado, os formulários são gerados conforme o mapeamento das classes.

Vamos agora fazer com que seja feito o tratamento do formulário. Seu código deverá ficar semelhante ao código abaixo:

<?php

// importa as configurações padrãorequire_once 'config.php';

// importa a classe de formulario do LumineLumine::load('Form_BasicForm');

// importa a classe de usuarioLumine::import('Usuario');

// inicia um objeto de usuario$usuario = new Usuario();

// inicia o formulario$form = new Lumine_Form_BasicForm( $usuario );

//////////////////////////////////////////////////////////////////// O formulário padrão de Lumine envia um parametro chamado// // _lumineAction// // através dele é que saberemos se alguma ação foi tomada// junto a isso, Lumine também já o tratará automagicamente,// portanto, nosso trabalho é só o de verificar se a ação foi enviada //////////////////////////////////////////////////////////////////if( ! empty($_REQUEST['_lumineAction']) ){	// efetua a ação e pega o retorno	$result = $form->handleAction($_REQUEST['_lumineAction'], $_REQUEST);

	// se o retorno não for false e a ação foi para salvar / inserir	if( $result != false && preg_match('@(insert|save)@', $_REQUEST['_lumineAction']) )	{		// atualiza a página		header("Location: ".$_SERVER['PHP_SELF']);		exit;	}}

// limite de registros por página$limite = 20;// registro atual$offset = empty($_REQUEST['offset']) ? 0 : $_REQUEST['offset'];

// Cria os campos de ediçãoecho $form->createForm();

// cria a lista de registrosecho $form->showList($offset, $limite);

Pronto, agora podemos controlar os dados dos usuários!
Nota importante: esta versão da classe BasicForm não suporta a remoção de registros. Caso deseje remover um registro, por enquanto deverá ser removido pelo banco. Ainda não tive tempo de altera-la.

Mais opções sobre os formulários gerados por esta classe você encontra na documentação sobre mapeamento de classes.

Um forte @braço e fique com Deus!

One Response to “Lumine – Tutorial 2 – Iniciando com controles básicos”

  • Max diz:

    Olá,

    Sou novo usando Lumine e estou a testar esse tutoral, entretanto não consigo fazer funcionar nem o inserir nem mesmo o salvar. As únicas diferenças para o tutorial é que estou usando email como chave primária, ou seja, nao uso cod_usuario!
    No error.log do apache não dá nenhuma mensagem de erro. Alguma idéia?

Deixar uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

*

Pode usar estas etiquetas HTML e atributos: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">