CodeIgniter 3 Scaffold

Criando models, views e controllers automaticamente

Você criar manualmente suas views, models e controllers para os sistemas que desenvolve? Já reparou como na maioria das vezes as rotinas que você criar são parecidas às até mesmo iguais?

Nesse tutorial vou mostrar como agilizar esse procedimento usando o codeigniter3-scaffold, uma gem do Ruby que além de criar o projeto usando a última versão do CodeIgniter também cria model, view, controller e o código da instrução SQL para criação da tabela.

O codeigniter3-scaffold cria as views já com os formulários e tabela para listagem de dados utilizando o Twitter Bootstrap, que é um dos frameworks mais utilizados par a criação desse tipo de tela.

Para utilizar o codeigniter3-scaffold você vai precisar ter o Ruby instalado em sua máquina. Minha sugestão é que você utilize o RVM, assim fica fácil de manter várias versões diferentes do Ruby à disposição.

Veja mais sobre o RVM e como fazer sua instalação clicando aqui.

Após instalar o Ruby vamos ao processo de instalação dar gem codeigniter3-scaffold e algumas dependências.

Instalando o codeigniter3-scaffold

Para instalar o codeigniter3-scaffold você deverá executar os comando a seguir no terminal. O primeiro comando instala a gem responsável por lidar com arquivos compactados (zips), o segundo faz a instalação da gem codeigniter3-scaffold.

gem install rubyzip

gem install codeigniter3-scaffold

Após executar esses comandos você já poderá utilizar a gem para agilizar o seu trabalho.

Comandos do codeigniter3-scaffold

A gem possui 3 comandos. São eles:

–help, -h: é o comando utilizado para visualizar o help da gem.

codeigniter3-scaffold -h

–init, -i: é o comando utilizado para iniciar o projeto, criando a estrutura do CodeIgniter.

codeigniter3-scaffold -i

–scaffold, -s: é o comando responsável por criar model, view, controller e instrução SQL para criação da tabela.

codeigniter3-scaffold -s <nome-da-tabela> campo:tipo campo:tipo campo:tipo

Atualmente a gem suporta os seguintes tipos de campo:

  • string
  • text
  • integer

O nome da tabela será utilizado para nomear o controller, o model é as views que serão criadas.

Exemplo prático

Vejamos um exemplo prático de como utilizar o codeigniter3-scaffold dentro do fluxo de desenvolvimento de um projeto.

A primeira coisa a se fazer é criar um diretório para o projeto. Então crie esse diretório e em seguida nevegue até ele no terminal.

Estando dentro do diretório do projeto no terminal, execute o comando –init da gem para que a estrutura do CodeIgniter seja criada dentro do diretório do projeto.

Após a execução desse comando você terá os diretórios applicatione system criados, além dos arquivos index.php e composer.json.

Com a estrutura de arquivos criada, é hora de começar a criar os controllers, models e views da aplicação. Para isso execute o comando –scaffold informando o nome da tabela e os campos.

Vamos considerar que estamos criando uma tabela para armazenar informações de um usuário, com dados básicos, como nome, email e idade. Nesse caso teríamos a seguinte linha de comando no terminal:

codeigniter3-scaffold -s Usuarios nome:string email:string idade:integer

Após a execução dessa linha de comando, você terá os arquivos criados em seus respectivos diretórios:

  • application/controllers
  • application/models
  • application/views
  • application/migrations

Pegue o arquivo SQL que foi salvo em application/migrations e execute a instrução no seu SGBD (PhpMyAdmin, MySQL Workbench, Sequel PRO…).

Repita esse processa para todas as tabelas que forem necessárias dentro da sua aplicação.

Depois dos arquivos base estarem criados, aí é só você escrever as rotinas específicas e dar sequência ao desenvolvimento do projeto.

Com essa ferramenta você vai ganhar produtividade e agilizar parte do seu processo de desenvolvimento.

Se tiver alguma dúvida, sugestão ou encontrar algum erro relacionado à gem, não deixe de reportar.

Até a próxima!