Gostaria de entender qual critério usar ao definir o método de envio de um formulário. Como exemplo na view formulário.php o id está sendo enviado como recurso da URI (GET) já a descrição está sendo enviado no corpo da requisição (POST).
<form action="/salvar-curso<?= isset($curso) ? '?id=' . $curso->getId() : ''; ?>" method="post">
<div class="form-group">
<label for="descricao">Descrição</label>
<input type="text"
id="descricao"
name="descricao"
class="form-control"
value="<?= isset($curso) ? $curso->getDescricao() : ''; ?>">
</div>
<button class="btn btn-primary">Salvar</button>
</form>
Pelo meu entendimento eu poderia fazer algo do tipo que obteria o mesmo resultado:
<form action="/salvar-curso" method="post">
<div class="form-group">
<label for="descricao">Descrição</label>
<input type="text"
id="descricao"
name="descricao"
class="form-control"
value="<?= isset($curso) ? $curso->getDescricao() : ''; ?>">
<input type="hidden"
id="id"
name="id"
value="<?= isset($curso) ? $curso->getId() : ''; ?>">
</div>
<button class="btn btn-primary">Salvar</button>
</form>
É apenas uma 'boa prática' enviar id's via get por não serem extensos na URI?