Banco de dados

Criando um CRUD com CodeIgniter

CRUD é um acrônimo para ‘create, read, update and delete’, operações padrões em sistemas com cadastro de informações.

No CodeIgniter, fazer o trabalho com banco de dados é muito simples, pois ele possui uma library nativa com operações que facilitam esse processo, e nesse tutorial vou ensinar como fazer isso de forma prática e rápida.

Antes de começar o passo a passo quero deixar aqui o agradecimento ao leitor Ivan Rufino Martins, que colaborou conosco nesse tutorial.

Passo 1 – Montando o ambiente

Aplicação

Você precisará fazer o download e instalação do CodeIgniter. Aqui no portal existem tutoriais ensinando esse processo:

Banco de Dados

Após fazer a instalação, aproveite e crie um banco de dados para esse tutorial. Abaixo está a instrução SQL a ser executada para criação da tabela ‘contatos’, a única que será utilizada.

Passo 2 – Configurações

Vamos configurar as libraries e helpers que serão carregadas automaticamente, as rotas, a conexão com o banco de dados e o model.

Libraries, Helpers e Model

Abra o arquivo ‘application/config/autoload.php’ e atualize as informações conforme o código abaixo:

São carregadas as libraries ‘database’,’session’ e ‘form_validation’, o helper ‘url’ e o model ‘contatos_model’ – que será criado mais adiante.

Rotas

As rotas serão os acionadores dos métodos no controller, abra o arquivo ‘application/config/routes.php’ e faça as configurações conforme código abaixo:

  • default_controller: chama o controller principal da aplicação, definido como ‘Base’
  • salvar: chama o método Salvar do controller Base
  • editar/(:num): chama o método Editar do controller Base, passando na url o ID do registro a ser editado
  • atualizar: chama o método Atualizar do controller Base
  • excluir/(:num): chama o método Excluir do controller Base
Conexão com Banco de Dados

Atualize as configurações de conexão com o banco de dados conforme as configurações do seu ambiente de desenvolvimento. Abra o arquivo ‘application/config/database.php’ e atualize as configurações.

Veja no código abaixo um exemplo:

Passo 3 – Criando as views

O exemplo desse tutorial será composto por apenas 2 views, uma para listagem de registros e formulário para inserir um novo, e outra para editar os dados de um registro.

Home

Crie um arquivo chamado ‘home.php’ no diretório ‘application/views’ e adicione a ele o código abaixo:

Na home temos uma estrutura básiuca de formulário, com 2 campos, para inserir nome e email, um conjunto de ifs que vão cehar as mensagens de sucesso e erro retornadas pelo controller e uma tabela com a exibição dos registros já cadastrados e opções de editar e excluir para cada um deles.

Editar

Crie um arquivo chamado ‘editar.php’ no diretório ‘application/views’ e adicione a ele o código abaixo:

Lembre-se de adicionar os cabeçalhos HTML para cada uma das views criadas, pois os códigos apresentados acima são apenas os blocos de código principais do tutorial.

A tela de edição é semelhante à home, porém, não possui a tabela com a lista dos dados.

Passo 4 – Criando os Models

Vamos criar um model com as operações básicas de um CRUD, assim, não será necessário criar os mesmos procedimentos várias vezes, sempre que for necesário criar um CRUD para cada módulo do sistema.

Crie um arquivo chamado ‘MY_Model.php’ no diretório ‘application/core’, e coloque nele o conteúdo abaixo:

Cada módulo de uma aplicação possui seu próprio model, mas com esse código acima, você não precisará repetir as operações básicas que todos fazem, pode usar o model do módulo apenas para funcionalidades específicas. Vamos fazer assim nesse exemplo, onde criaremos logo a seguir o model Contatos_model.php, que terá apenas uma operação específica, e herdará as demais desse model que acabamos de criar.

Agora crie um outro model, chamado ‘Contatos_model.php’ e salve-o no diretório ‘application/models’. Adicione a ele o conteúdo abaixo:

Esse model possui um método que é usado somente nos contatos, por isso ele não está em ‘MY_Model.php’, pois o que estiver lá vai ser herdado por todos os outros models da aplicação.

Repare que ao nomear o model ‘class Contatos_model extends MY_Model’ extendemos ele de ‘MY_Model’ para herdar as funcionalidades. O CodeIgniter, por padrão utiliza os models extendendo de ‘CI_Model’, mas isso é feito quando vocÊ não possui um Model base, como temos nesse caso.

Passo 5 – Criando o controller

Para finalizar, vamos criar o controller da aplicação, que se chamará ‘Base’ e deverá ser salvo em ‘application/controllers’. Ele conterá os métodos para executar as operações, validações, redirecionamentos e processo de gravação de dados nas sessões.

Adicione o código abaixo no arquivo criado:

Com isso terminamos o processo de montagem do nosso CRUD. Viu como é simples e rápido?

Bons Estudos!

button-codigo-fonteDemo Online