2. Primeiro Template¶
Antes de podermos criar elementos de um formulário, é necessário primeiro criar templates que serão como componentes pré configurados. O código fica assim.
<?php
require_once 'vendor/autoload.php';
$loader = new \Twig\Loader\FilesystemLoader('./');
$twig = new \Twig\Environment($loader, ['cache' => './']);
$template = $twig->load('index.html');
// Aqui instanciamos um objeto Template, que recebe 2 argumentos.
// O primeiro é o nome do template e o segundo é sua estrutura
// Em nosso caso criamos a mesma estrutura que antes foi criada diretamente no HTML
$inputTemplate = new \Cajudev\UI\Template('input', [
'label' => [
'text' => 'Nome de Usuário'
],
'input' => [
'attributes' => [
'class' => 'form-control',
'type' => 'text'
],
]
]);
//Em seguida instanciaremos um objeto EasyForm
$easyForm = new \Cajudev\EasyForm();
//E adicionamos o template criado anteriormente
$easyForm->templates->add($inputTemplate);
//Finalmente, podemos criar o componente input
$easyForm->create('input');
//E passamos o objeto para ser renderizado
echo $template->render(['formulario' => $easyForm]);
Se tudo ocorreu bem, você deverá visualizar o mesmo resultado de quando havia criado em HTML
Guia do Usuário Easy Form
Agora podemos criar quandos componentes quisermos de maneira muito fácil
<?php
// Ocultamos o restante do código para poupar espaço
$easyForm->create('input');
$easyForm->create('input');
$easyForm->create('input');
$easyForm->create('input');
echo $template->render(['formulario' => $easyForm]);
Resultado:
Guia do Usuário Easy Form
Obviamente não faz sentido ter diversos inputs para nome de usuário, veremos na próxima seção como utilizar variáveis na criação de templates.