Agora vamos criar o arquivo "index.tt". Se alterou a extensão, cria com a extensão de sua escolha. Crie este arquivo no diretório 'root' de sua aplicação.
Depois de criar o arquivo index, digite no seu terminal:
script/myapp_server.pl
Isso irá executar o server de teste do Catalyst, para acessar:
http://localhost:3000/exemplo
Agora abra o arquivo "index", coloque os comandos abaixo e faça seus teste:
Imprimir a escalar nome:
<h2>[% nome %]</h2>
Comparar a escalar nome com IF:
IF 'nome' é igual a 'Lucas'
[% IF nome == 'Lucas' %]
<h2>Verdadeiro/h2>
[% END %]
IF 'nome' é diferente a 'Lucas'
[% IF nome != 'Lucas' %]
<h2>l;Verdadeiro</h2>
[% END %]
Comparar a escalar nome com IF e ELSE:
IF 'nome' é igual a 'Lucas'
[% IF nome == 'Lucas' %]
<h2>Verdadeiro/h2>
[% ELSE %]
<h2>Falso</h2>
[% END %]
IF 'nome' é diferente a 'Lucas'
[% IF nome != 'Lucas' %]
<h2>Verdadeiro</h2>
[% ELSE %]
<h2>Falso</h2>
[% END %]
Comparar a escalar nome com IF, ELSIF e ELSE:
ELSIF 'nome' é igual a 'Lucas'
[% IF nome == 'Tiago' %]
<h2>Verdadeiro IF</h2>
[% ELSIF nome == 'Lucas' %]
<h2>Verdadeiro ELSIF</h2>
[% ELSE %]
<h2>Falso</h2>
[% END %]
ELSIF 'nome' é diferente a 'Lucas'
[% IF nome == 'Tiago' %]
<h2>Verdadeiro IF</h2>
[% ELSIF nome != 'Lucas' %]
<h2>Verdadeiro ELSIF</h2>
[% ELSE %]
<h2>Falso</h2>
[% END %]
Até agora só trabalhamos com escala, agora vamos trabalhar com 'array' que é uma lista de escalares e um 'hash' que é um dicionario de escalares.
Imprimir escalares da array cores:
[% FOREACH row IN cores %]
<h2>[% row %]</h2>
[% END %]
Imprimir índices da hash números:
[% FOREACH row IN numeros %]
<h2>[% row.key %]</h2>
[% END %]
Ou:
[% FOREACH row IN numeros.keys %]
<h2>[% row %]</h2>
[% END %]
Imprimir valores da hash números:
[% FOREACH row IN numeros %]
<h2>[% row.value %]</h2>
[% END %]
Ou:
[% FOREACH row IN numeros.values %]
<h2>[% row %]</h2>
[% END %]
Agora que já ensinei algumas coisas básicas em 'Template Toolkit', vou mostrar um pouco como o 'Catalyst' é flexível. Porque flexível? Porque você consegue acessar qualquer função do Catalyst, exemplos abaixo:
Imprimir URL atual com a função uri_for():
<h2>[% c.uri_for %]</h2>
Resultado:
http://localhost:3000/exemplo
[% c.uri_for('/site') %]
Resultado:
http://localhost:3000/site
Redirecionar para outra pagina ou site:
[% c.res.redirect('http://www.perl.org') %]
Finalização
Para saber mais sobre 'Catalyst' e 'Template Toolkit', entre nas URLs abaixo:
Artigo previamente publicado em:
Até mais.