criando um crud com formdin v1.3
Post on 10-Feb-2018
218 Views
Preview:
TRANSCRIPT
-
7/22/2019 Criando Um CRUD Com FormDin V1.3
1/12
Criando um CRUD com FormDin
Pgina 1
O objetivo deste exemplo criar uma aplicao utilizando a framework FormDin, que
permita fazer a manuteno completa em uma tabela, ou seja, ncluso, !onsulta, "lterao e
a #xcluso de re$istros, o que c%amamos de !&'D ( !reate )criar*, &etrieve )recuperar*,
'pdate )atualizar* e Delete )excluir*+
"consel%o ler o anual de nstalao e fazer a instalao do FormDin antes decomear com este exerc-cio+
O Projeto
O projeto consistir. em criar um cadastro de ve-culos e um relat/rio em pdf, com os
se$uintes campos0
a1 2laca 3 campo 4exto com .scara1b1 5ome 3 campo 4exto 1c1 arca 3 campo 4exto 1d1 odelo 3 campo 4exto 1e1 "no Fabricao 3 campo nteiro 1f1 !or 3 campo 4exto 1$1 6alor 3 campo 5umrico 1%1 Data "quisio 3 campo Data 1i1 Observao 3 campo emo 1
O banco de dados utilizado ser. o 789ite :, devido a sua simplicidade e no precisar
de instalao , e todos podero executar o exemplo sem problemas+
A Aplicao
" aplicao ser. c%amada de 7istema de !adastro de 6e-culos ; 7!"6, dever.
possuir um menu principal com as se$uintes op etapas, e poderei explicar mel%or cada uma delas+
?@1 !onfi$urao da "plicao 34"pplication1A
B@1 !onfi$urao da !onexo com banco de dados 342DO!onnection1A
:@1 !riao do enu 2rincipal 3 4D%tmlxenu 1A
C@1 !riao do formul.rio de cadastro de ve-culos 3 4Form 1 e
>@1 !riao do relat/rio utilizando a classe 42DF que uma extenso da classe fpdf+
#nto vamos l.+
1 Passo; !riao da "plicao
( crie o arquivo indexp!p"que ser. o nosso controlador respons.vel pela criao da interface
da aplicao e o tratamento das requisi
-
7/22/2019 Criando Um CRUD Com FormDin V1.3
2/12
Criando um CRUD com FormDin
Pgina 2
(crie no diret/rio sica#$o subdiret/rio %ancoDados$e utilizando qualquer &D'para o ()*ite,
aqui estou utilizando a (+*ite Admin 3 %ttp0EEsqliteadmin+orbmuBk+deE 1, crie um banco de
dados c%amado %dCruds,d%e tambm a tabela t%-#eiculoconforme o script abaixo0
CREATE TABLE [tb_veiculo] ([id] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT[!l"c"] v"#c$"#(%& UNI'UE NOT NULL[o)e] v"#c$"#(*++& NOT NULL[)"#c"] v"#c$"#(,+& NULL[)odelo] v"#c$"#(,+& NULL["o] ite-e# NULL[co#] v"#c$"#(.+& NULL[v"lo#] u)e#ic(*+.& NULL["/ui0ic"o] d"te NULL[ob0e#v"c"o] te1t NULL&
Dentro do diret/rio sica#$, crie um arquivo c%amado indexp!pcom o se$uinte c/di$o0
23!$!
#e/ui#e_oce(4556b"0e6cl"00e067eb8o#)6TA!!lic"tio5cl"005!$!4&9:"!! ; e7 TA!!lic"tio(4
-
7/22/2019 Criando Um CRUD Com FormDin V1.3
3/12
Criando um CRUD com FormDin
Pgina 3
( adicione o se$uinte c/di$o0
de8ie(4BANCO44culo044c"d_veiculo4ull48olde#AulO!e5-i84&9:)eu"dd(.+4Rel"tH#io04ullull4!#it*5-i84&9
:)eu"dd(.*.4=e>culo044#el_veiculo4ull4!#it*5-i84&9
:)eu"dd(Q+4Ge#"do# ?AO6=O44b"0e6iclude06-e#"do#_vo_d"o5!$!4&9:)eu-et)l(&96SSS Ob0e#v"Fe0S A0 i)"-e0 utili"d"0 o )eu e0tJo o di#etH#io b"0e6i)"-e05 P"#" utili"#S i)"-e0 de out#o di#etH#io co8i-u#e o c")i$o /ue deve# 0e# utili"doS o ide15!$! co) o 0e-uite co)"do :"!!0etMeuIco0P"t$(4c")i$o64&9SS A c#i"FJo do )eu )uito 0i)!le0 0edoS id do ite)S id do !"iS tituloS $itS i)"-e)S etc555S P"#" " c#i"FJo d" $ie#"#/ui" )"u"l)ete eu utiliei o0 id0 co)o 0e 8o00e u)"li0t" u)e#"d" 0e) o0 !oto05S A00i)S ite) * ; *S ite) *5* ; **S ite) . ; .S ite) .5* ; .*S63
7 Passo / !riao do formul.rio de cadastro de ve-culos+
( crie o subdiret/rio modulos$e dentro dele outro subdiret/rio com o nome cad-#eiculo$+ #sta
a estrutura su$erida para or$anizarmos a aplicao por m/dulos+ !ada m/dulo tem seusubdiret/rio com seus respectivos arquivos p!p" css" jsentre outros+ 4oda vez que o m/dulo
-
7/22/2019 Criando Um CRUD Com FormDin V1.3
4/12
Criando um CRUD com FormDin
Pgina 4
for c%amado, a classe 2Form procurar. pelos arquivos js e css com o mesmo nome do
m/dulo trocando a extenso para js ecss, se existirem, sero adicionados automaticamente
p.$ina+ Outros arquivos js e css podem ser adicionados sempre que necess.rios atravs dos
mtodos0 add8sFile9:xxxjs;< e addCssFile9:xxxcss;
-
7/22/2019 Criando Um CRUD Com FormDin V1.3
5/12
Criando um CRUD com FormDin
Pgina 5
( retornemos ao c/di$o fonte do arquivo cad-#eiculop!p e altere para que fique com as
se$uintes lin%as0 3o que est. em ne$rito o que foi adicionado ao c/di$o j. existente 1
23!$!:8#) ; e7 T@o#)(4C"d"0t#o de =iculo04&9
// adicionar o campo hidden para a coluna chave da tabela.$frm->addHiddenField('id');
// adicionando abas ao formulrio$pc $frm->add!a"e#ontrol('pc'); // criar instncia do controlador de p"inas// adicionar a pa"ina %#adastro%$pc->add!a"e('#adastro'&true&true&'aba#adastro'); // a partir daui& tudo ue foradicionado ao form ficar dentro da aba at encontrar o metodo closeroup();
// adicionar os campos na aba cadastro$frm->add*as+Field('placa'&', da !laca'&true&'aaa-');$frm->add0e1tField('nome'&',ome'&233&true&43);$frm->add0e1tField('marca'&'*arca'&53);$frm->add0e1tField('modelo'&'*odelo'&53&false&null&null&false);$frm->add,umberField('ano'&'6no'&7&false&3);$frm->add0e1tField('cor'&'#or'&83&null&null&null&false);$frm->add,umberField('valor'&'9alor :$'&23&false&8);$frm->addateField('auisicao'&'ata 6uisi
-
7/22/2019 Criando Um CRUD Com FormDin V1.3
6/12
Criando um CRUD com FormDin
Pgina 6
( devemos fazer o tratamento das aaddButton3 H7alvarH ,limpar, +++1+
7e estiver utilizando o linux, lembre(se de verificar os direitos de acesso para o apac%e, a
sempre que criar um diret/rio ou arquivo+
( antes de prosse$uirmos com a codificao, criaremos as classes DAO e ?O da tabela
t%-#eiculos, que sero as respons.veis pelas opera1, e dever. aparecer o item erador DAO$?O, conforme
a ima$em do menu abaixo0
-
7/22/2019 Criando Um CRUD Com FormDin V1.3
7/12
Criando um CRUD com FormDin
Pgina 7
( clique na opo erador DAO$?Opara exibir a tela abaixo+
0
( 6amos preenc%L(la assim0
a1 diret/rio no precisa alterar deixe com0 dao$
b1 nome da tabela0 t%-#eiculo
c1 nome da coluna c%ave0 id
d1 colunas0 id"placa"nome"marca"modelo"ano"cor"#alor"a)uisicao"o%ser#acao
Os nomes das colunas tambm podem ser informados, um em baixo do outro, utilizando
o Menter= como delimitador e retirando as vir$ulas+
( ap/s preenc%imento dos campos, clique no boto Nerar e a$uarde a mensa$em F+ Fec%e a
tela e verifique se no subdiret/rio sica#$daoforam criados os arquivos0
2%-#eiculoDAOclassp!pe 2%-#eiculo?Oclassp!p+
( caso ocorra al$um problema, verifique os direitos de acesso para o apac%e nos diret/rios e
arquivos+ 4ente criar o subdiret/rio sica#$dao manualmente e dar os direitos de escrita e
leitura para o apac%e+
-
7/22/2019 Criando Um CRUD Com FormDin V1.3
8/12
Criando um CRUD com FormDin
Pgina 8
( a$ora prosse$uiremos com a codificao das a")o0 /ue utili"#o0 )todo0 0et0 do obeto vo !"#" c"d" c")!o5 E1e)!lo:vo0etId(:8#)-et(4id4&&9:vo0etPl"c"(:8#)-et(4!l"c"4&&9:vo0etNo)e(:8#)-et(4o)e4&&9555
S6:8#)0et=o(:vo&9
66 G#"v"do o d"do o b"co de d"do0i8( tb_veiculo?AOi0e#t(:vo& &
:8#)0etMe00"-e(4=e>culo 0"lvo co)
-
7/22/2019 Criando Um CRUD Com FormDin V1.3
9/12
Criando um CRUD com FormDin
Pgina 9
( pr/ximo passo ser. fazer a lista$em dos ve-culos na aba 9ista$em, com as a
-
7/22/2019 Criando Um CRUD Com FormDin V1.3
10/12
Criando um CRUD com FormDin
Pgina10
( crie o arquivo modulos$cad-#eiculo$action$d-alterarp!p e adicione o se$uinte c/di$o0
23!$!66 #ecu!e#"# o ve>culo !elo id 0elecio"do o -#ide:d"do0 ; Tb_veiculo?AO0elect(:8#)-et(4id4&&9
66 "tu"li"# o0 c")!o0 do 8o#) co) o0 d"do0 do ve>culo:8#)u!d"te(:d"do0&9
6S Obe0e#v"FJoco)o o0 o)e0 do0 c")!o0 d" t"bel" 0Jo o0 )e0)o0 do 8o#)ul#io
!ode)o0 utili"# o )todo :8#)u!d"te(:d"do0&9 c"0o cot##iote#>")o0 /ue 8"e# c")!o " c")!o5 E1e)!lo:8#)0et(4id4:d"do0[4I?4][+]&9:8#)0et(4!l"c"4:d"do0[4PLACA4][+]&9:8#)0et(4o)e4:d"do0[4NOME4][+]&9555S6
66 de8ii# " "b" iici"l !"#" " "b" C"d"0t#o
:8#)-et@ield(4!c4&0etActiveP"-e(4"b"C"d"0t#o4t#ue&93
( crie o arquivo modulos$cad-#eiculo$action$d-ecluirp!pe adicione o se$uinte c/di$o0
23!$!Tb_veiculo?AOdelete(:8#)-et(4id4&&93
H Passo( !riao do relat/rio utilizando a classe 42DF
4erminamos aqui o nosso CRUD"podemos a$ora fazer a nosso relat/rio em PDF com
a lista$em dos ve-culos+
( dentro do diret/rio modulos$ crie o subdiret/rio rel-#eiculo$ e dentro dele o arquivo
rel-#eiculop!pcom o se$uinte c/di$o0
23!$!:8#) ; e7 T@o#)(4Rel"tH#io de =e>culo04.++&9
66 "dicio"# u) -#u!o co) +!1 " !#i)ei#" colu" vi#tu"l !"#" o0 i!ut0 8ic"#e))"i0 !#H1i)o0 do0 #Htulo0:8#)"ddG#ou!@ield(4-!@ilt#o44CodiFJo4&0etColu)0(+&9
:8#)"ddTe1t@ield(4)"#c"44M"#c"4,+&9:8#)"ddNu)be#@ield(4"o44Ao4Xull+&9
:8#)clo0eG#ou!(&9
:8#)"ddButto(4=i0u"li"#4ull4bt=i0u"li"#44-e#"#Pd8(&44Co8i#)" " C#i"FJodo Rel"tH#io 34&9
66 !#oce00"# " "c"o c#i"#_!d8:8#)!#oce00Actio(&9
66 e1ibi# o 8o#)ul#io:8#)0$o7(&9320c#i!t8uctio -e#"#Pd8(&
66 "b#i# "el" )od"l !"#" e1ibi# o !d8 det#o de u) i8#")e87
-
7/22/2019 Criando Um CRUD Com FormDin V1.3
11/12
Criando um CRUD com FormDin
Pgina11
( em se$uida crie o subdiret/rio action$ dentro do subdiret/rio modulos$rel-#eiculo$e dentro
dele o arquivo criar-pd0p!p, esta ser. nossa ao para $erar o pdf+ "dicione o c/di$o
abaixo0
23!$!66 vou 8"e# u) e1e)!lo de co)o e1ecut"# u)" co)"do 0/l di#et")ete " c")"d" devi0Jo66 0e) !"00"# !el" c")"d" )odel5 NJo 8"F") i00o 0o)ete !"#" e1e)!li8ic"#566 O co##eto 0e# c#i"# o )todo #el"to#io(& !o# e1e)!lo o66 "#/uivo d"o6Tb_veiculo?AO5cl"005!$! /ue #eto#" o "##"W de d"do0
:0/l ; 0elect S 8#o) tb_veiculo 7$e#e id + 9:!"#")et#o0;"##"W(&9i8( :_RE'UEculo0 =*5+4+*4C4&9:!d80et@ot(444B4*.&9:!d8cell(+4Li0t"-e) do0 =e>culo04+*4C4&9:!d8l(*&9:!d80et@ot(4444*+&9:c#ite#io ; 449i8( :_RE'UE
-
7/22/2019 Criando Um CRUD Com FormDin V1.3
12/12
Criando um CRUD com FormDin
Pgina12
V
66 "dicio"# o "##"W de d"do0 "o obeto !d8:!d80et?"t"(:d"do0&9
66 c#i"FJo do co#!o do #eltH#io /ue e0te c"0o 0e# u)" li0t"-e) 0i)!le0 ti!ot"bel" ( -#ide &
66 "dicio"# "0 colu"0 /ue i#e)o0 li0t"# d" t"bel"5:!d8"ddColu)(4Pl"c"4 *4C4 4PLACA4
47$ite4ull%4bl"cD4 4ti)e04&9:!d8"ddColu)(4No)e4 +4L4 4NOME4
47$ite44B4%4bl"cD4 4"#i"l4&9:!d8"ddColu)(4M"#c"4 .+4L4 4MARCA4
47$ite4ull%4bl"cD4 4"#i"l4&9:!d8"ddColu)(4Modelo4 .+4L4 4MO?ELO4 47$ite4ull%4bl"cD4 4"#i"l4&9:!d8"ddColu)(4Ao4 *+4C4 4ANO4
47$ite4ull%4blue4 4"#i"l4&9:!d8"ddColu)(4="lo#4 .+4R4 4=ALOR4
47$ite4ull%4bl"cD4 4"#i"l4&9:!d8"ddColu)(4A/ui0iFJo4 .+4C4 4A'UI
top related