Formulários HTTP
HTML só entende GET e POST. Na v4, use helpers PHP para CSRF e spoofing de método.
Helpers de formulário
| Helper | Função |
|---|---|
| csrf() | Campo hidden _token |
| method('PUT') | Atualização completa |
| method('PATCH') | Atualização parcial |
| method('DELETE') | Remoção |
| old('campo') | Valor anterior após erro de validação |
| error('campo') | Primeira mensagem de erro |
Atualizar (PUT)
<form action="<?= to('user.settings.update') ?>" method="POST">
<?= csrf() ?>
<?= method('PUT') ?>
<label>Nome</label>
<input type="text" name="display_name" value="<?= e(old('display_name', $user->display_name)) ?>">
<?php if (error('display_name')): ?>
<span class="error"><?= e(error('display_name')) ?></span>
<?php endif; ?>
<button type="submit">Salvar</button>
</form>Atualização parcial (PATCH)
<form action="<?= to('user.profile.active') ?>" method="POST">
<?= csrf() ?>
<?= method('PATCH') ?>
<button type="submit">Ativar perfil</button>
</form>Remover (DELETE)
<form action="<?= to('user.account.delete') ?>" method="POST">
<?= csrf() ?>
<?= method('DELETE') ?>
<button type="submit">Excluir conta</button>
</form>No handler: $req->check([...]) e res()->success()->to(...). Veja CSRF eValidação.