Entendendo a primeira aplicação - bjverde/formDin GitHub Wiki

Index.php

Tudo na vida começa do inicio !! Toda aplicação feita com formDin inicia no index.php na raiz do projeto. Esse arquivo irá carregar o framework, o menu e por consequência seus módulos (telas).

<?php
include ('../base/classes/webform/TApplication.class.php');

$app = new TApplication();
$app->setTitle('Hello');
$app->setSigla('hw');
$app->setVersionSystem('0.0.0');
$app->setLoginInfo('Bem-vindo');
$app->setMainMenuFile('includes/menu.php');
$app->run();
?>

O BASE

Na primeira linha temos o include para Core do formDin FrameWork na pasta base. É nessa pasta que tudo acontece. Para felicidade da maior parte dos desenvolvedores nem precisam saber como tudo funciona.

include ('../base/classes/webform/TApplication.class.php');

Um base único ou um para cada projeto.

A pasta base tem aproximadamente 19,6 MB, ter uma única pasta base para todos o projeto terá como vantagem imediata a economia de espaço em disco. Como vantagem adicionar é ter um único ponto para atualizar todos os sistemas.

Ter uma pasta base por projeto dará a flexibilidade de utilizar mais de uma versão do formDin, inclusive utilizar uma versão customizada. O recomendável é não customizar o formDin, assim será mais fácil receber as atualizações. As customizações devem ser feitas na sua aplicação

Nasce uma nova aplicação

Na linha abaixo nasce uma nova aplicação. É criado um objeto do tipo TApplication na variável $app. Existem diversos outros parâmetros que serão mais abordados no futuro. O construtor do objeto e seus métodos SET tem a documentação.

$app = new TApplication();

Logo depois vamos setar o titulo principal da aplicação

$app->setTitle('Hello');

A sigla da aplicação. Esse é um elemento importante caso deseje ter mais uma aplicação em formDin. A sigla irá ajudar separar as SESSION das aplicações, o numero da versão e informações sobre o Login

$app->setSigla('hw');

O numero da versão, irá te ajudar saber qual versão do sistema está rodando. O texto sobre Versionamento Semântico poderá te ajudar entender melhor essa questão caso não saiba.

$app->setVersionSystem('0.0.0');

Nesse esse exemplo será mostrada a mensagem de "Bem-vindo" no lugar do login. Esse linha não é obrigatória ela pode ser removida. Contudo ela será bem útil quando aplicação tem autenticação, trataremos melhor disso no capitulo Autenticando-o-usuário.

$app->setLoginInfo('Bem-vindo');

Na linha abaixo é definido o caminho do Menu. É recomendado seguir o padrão abaixo, porém não é algo obrigatório. No próximo capitulo será detalhado o funcionamento do menu.

$app->setMainMenuFile('includes/menu.php');

Nesse ponto é gerada aplicação, mostrando o sistema.

$app->run();

O arquivo de Menu - menu.php

É criado um objeto do tipo Menu, que foi acionado um elemento. Na posição 1, que não tem um pai, que irá aparecer o nome "Hello", que caminha da tela está em 'modulos/hello.php'. Existem diversos outros parâmetros que serão mais abordados no futuro. O construtor do objeto e seus métodos SET tem a documentação. Maiores detalhes no próximo capitulo.

<?php
$menu = new TMenuDhtmlx();
$menu->add('1', null, 'Hello', 'modulos/hello.php');
$menu->getXml();
?>

A primeira tela - modulos/hello.php

Nas podemos ver que segue o mesmo padrão e principio. É criado um objeto do tipo Formulário, com o titulo "Hello, World", será do estilo FLAT e permite maximizar. Existem diversos outros parâmetros que serão mais abordados no futuro. O construtor do objeto e seus métodos SET tem a documentação.

Recomendo comentar as linhas do setFlat e setMaximze e veja o que acontece.

$frm = new TForm('Hello, World!');
$frm->setFlat(true);
$frm->setMaximize(true);

Nesse ponto são adicionados os campos que irão aparecer do formulário. São dois campos

  1. Nome, do tipo text field, obrigatório
  2. Ativo, do tipo select, obrigatório

Nossa quantos parâmetros no campo select Field ?? No futuro vamos detalhar cada elemento. Resumindo muito quando você adiciona um campo. Na verdade está criando um objeto do tipo de campo, que será incluído no objeto formulário.

$frm->addTextField('NOME', 'Seu nome:', 50, true);
$frm->addSelectField('SIT_ATIVO', 'Ativo:', true, 'S=Sim,N=Não', true,null,null,null,null,null,'-- selecione um item --',0);

Abaixo adicionamos dois botões

$frm->addButton('Salvar');
$frm->addButton('Limpar');

Como aconteceu na Aplicação e no Menu, a linha abaixo serve para mostrar a tela ou formulário.

$frm->show();

Nos próximos capítulos vamos continuar a primeira aplicação. Incrementando o menu, conexão no banco, tela com vários componentes.

Próxima etapa ?

7 - Criando Menu Básico