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”.

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.

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.

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.

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.


