Rotas de recursos
Aprenda como definir rotas de recursos, normalmente usadas para operações de criação, leitura, atualização e exclusão (CRUD), de uma maneira simples e padronizada.
Os nomes dos métodos representam os métodos e caminhos HTTP exigidos pelas rotas, por exemplo:
| Método do controlador | Método de rota | Percurso | Equivalente |
|---|---|---|---|
index |
GET |
/ |
$app->action('GET', '/') |
create |
GET |
/create |
$app->action('GET', '/') |
store |
POST |
/ |
$app->action('POST', '/') |
edit |
GET |
/<id>/edit |
$app->action('GET', '/<id>/edit') |
show |
GET |
/<id> |
$app->action('GET', '/<id>') |
update |
PUT |
/<id> |
$app->action('PUT', '/<id>') |
destroy |
DELETE |
/<id> |
$app->action('DELETE', '/<id>') |
Criar controlador
Para testar, crie o arquivo system/Controllers/ResourceSample.php e adicione o seguinte conteúdo a ele:
<?php
namespace Controller;
class ResourceSample extends \Inphinit\Routing\Resource
{
public function index()
{
return 'index';
}
public function create()
{
return 'create';
}
public function store()
{
return 'store';
}
public function show($app, $params)
{
$id = $params['id'];
...
return 'show';
}
public function edit($app, $params)
{
$id = $params['id'];
...
return 'edit';
}
public function update($app, $params)
{
$id = $params['id'];
...
return 'update';
}
public function destroy($app, $params)
{
$id = $params['id'];
...
return 'destroy';
}
}
Em seguida, adicione isto a main.php ou dev.php:
\Controller\ResourceSample::action($app);
É equivalente a:
$app->action('GET', '/', 'ResourceSample::index');
$app->action('GET', '/create', 'ResourceSample::create');
$app->action('POST', '/', 'ResourceSample::store');
$app->action('GET', '/<id>/edit', 'ResourceSample::edit');
$app->action('GET', '/<id>', 'ResourceSample::show');
$app->action('PUT', '/<id>', 'ResourceSample::update');
$app->action('DELETE', '/<id>', 'ResourceSample::destroy');