HomeFramework PHPGuia de CRUD em Uma Página Yii2: Tutorial Gii e AjaxCrud

Guia de CRUD em Uma Página Yii2: Tutorial Gii e AjaxCrud

Gii é um gerador de código baseado na web para o framework Yii2 que acelera o desenvolvimento. Este artigo fornece um guia técnico atualizado para implementar um sistema CRUD em uma única página usando a extensão AjaxCrud, uma solução ideal para aplicações que requerem alta interatividade.

Gii para Yii2 é uma ferramenta de desenvolvimento essencial. Por padrão, o Gii fornece geradores para modelos, formulários, controladores e operações CRUD convencionais. No entanto, o template padrão do Gii executa cada ação CRUD em uma página separada. Para desenvolvedores modernos que priorizam a experiência do usuário, implementar CRUD em uma única página com Ajax é a solução.

Para atender a essa necessidade, a extensão yii2-ajaxcrud de Johnitvn serve como resposta. Esta extensão permite que todas as operações—criar, ler, atualizar, excluir—sejam executadas em uma caixa de diálogo modal em uma única visualização sem recarregar a página. Abaixo estão as etapas de implementação atualizadas.

Passos para Implementar CRUD em Uma Única Página no Yii2

Certifique-se de que seu ambiente de desenvolvimento Yii2 (avançado ou básico) esteja ativo. Em seguida, siga cuidadosamente estes procedimentos técnicos.

1. Instalar a Extensão AjaxCrud

Instale a extensão via Composer. Execute o seguinte comando no seu terminal dentro do diretório do projeto:

composer require johnitvn/yii2-ajaxcrud "~2.0"

2. Gerenciar os Assets de Ícones (Font Awesome)

A extensão requer Font Awesome. Você pode usar o pacote yii2-icons do Kartik. Adicione a seguinte linha ao seu arquivo composer.json:

"kartik-v/yii2-icons": "*"

Em seguida, execute composer update. Uma alternativa é incluir o Font Awesome via CDN no layout principal do seu projeto.

3. Verificar o Menu no Gii

Acesse o Gii através do seu navegador (ex.: http://localhost/projeto/web/index.php?r=gii). Se a instalação for bem-sucedida, aparecerá uma nova opção chamada “Ajax CRUD Generator”.

Menu Ajax CRUD Generator na interface do Gii Yii2
Figura 1: O menu Ajax CRUD Generator na interface do Gii.

4. Criar um Modelo a partir de uma Tabela

Crie uma classe de modelo usando o Model Generator padrão. Por exemplo, crie um modelo Country a partir da tabela country no seu banco de dados.

Criando um modelo Country usando Gii Yii2
O processo de geração de modelo no Gii Yii2.

5. Gerar o CRUD com o Ajax CRUD Generator

Selecione o menu “Ajax CRUD Generator”. Preencha o formulário com a Classe do Modelo (ex.: app\models\Country) e a Classe do Controlador (ex.: app\controllers\CountryController). Em seguida, visualize e gere.

Formulário do Ajax CRUD Generator no Yii2
Configuração do gerador para CRUD em uma única página.

6. Teste Inicial e Identificação de Problemas

Acesse o controlador criado (ex.: http://localhost/projeto/web/index.php?r=country). Uma grade de dados será exibida, mas os botões de ação podem não funcionar de maneira otimizada devido aos assets de ícones.

7. Registrar os Assets do Font Awesome

Edite o arquivo de visualização de índice gerado (normalmente em views/country/index.php). Adicione o seguinte código no topo, após as declarações use:

use kartik\icons\FontAwesomeAsset;
FontAwesomeAsset::register($this);

8. Verificação Final

Recarregue a página CRUD. Agora, os recursos de Criar, Atualizar, Visualizar e Excluir aparecerão em caixas de diálogo modais Ajax. Este processo é rápido e ocorre sem sair da página principal, proporcionando uma experiência de usuário mais suave. Esta é uma vantagem-chave do CRUD em uma única página.

Demonstração de operações CRUD em uma única página no Yii2 com Ajax
Figura 2: Demonstração completa de CRUD em uma única página usando Ajax no Yii2.

Conclusão e Recomendações de Desenvolvimento

A combinação de Gii Yii2 e a extensão AjaxCrud resulta em uma solução de desenvolvimento altamente eficiente. Esta implementação de CRUD em uma única página é adequada para painéis de administração e aplicações que requerem interação em tempo real. Sempre consulte a documentação oficial da extensão para configurações adicionais. Além disso, certifique-se de realizar testes abrangentes em um ambiente de staging antes da implantação em produção.

Seguindo este guia, os desenvolvedores podem criar interfaces de gerenciamento de dados responsivas e modernas. Esta abordagem aproveita totalmente a velocidade do Gii e a agilidade da tecnologia Ajax para uma experiência de usuário superior.

Últimos artigos