(16) 981791110 contato@policast.studio

O que é uma lista em Symfony?

Uma lista em Symfony é uma forma de exibir um conjunto de dados de uma determinada entidade em formato de tabela, onde cada coluna representa um atributo da entidade e cada linha representa uma instância da entidade. Essa funcionalidade é muito útil para exibir listas de usuários, produtos, pedidos, etc.

Como criar uma lista em Symfony?

Para criar uma lista em Symfony, é necessário primeiro criar um Controller que será responsável por receber a requisição HTTP e buscar os dados que serão exibidos na lista. Em seguida, é preciso criar uma View que irá renderizar a tabela HTML com os dados da entidade. Por fim, é necessário criar uma rota que irá apontar para o método do Controller responsável por exibir a lista.


# Exemplo de Controller para exibir uma lista de usuários

namespace AppController;

use AppRepositoryUserRepository;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentRoutingAnnotationRoute;

class UserController
{
/**
* @Route("/users", name="user_list")
*/
public function list(UserRepository $userRepository): Response
{
$users = $userRepository->findAll();

return $this->render('user/list.html.twig', [
'users' => $users,
]);
}
}

Nesse exemplo, o método list recebe uma instância do UserRepository que será utilizada para buscar todos os usuários cadastrados no banco de dados. Em seguida, o método renderiza a View list.html.twig passando como parâmetro a lista de usuários encontrados.



{% extends 'base.html.twig' %}

{% block content %}

Lista de Usuários

{% for user in users %}

{% else %}

{% endfor %}

ID Nome E-mail Data de Criação
{{ user.id }} {{ user.name }} {{ user.email }} {{ user.createdAt|date('d/m/Y H:i:s') }}
Nenhum usuário encontrado.

{% endblock %}

Nessa View, é definida uma tabela HTML com as colunas ‘ID’, ‘Nome’, ‘E-mail’ e ‘Data de Criação’. Em seguida, é feito um loop pela lista de usuários passada pelo Controller, e para cada usuário é criada uma linha na tabela com as informações de cada atributo. Caso não haja nenhum usuário na lista, uma mensagem informando que nenhum usuário foi encontrado é exibida na tabela.