Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Anderson Gonçalves – Introdução ao framework CodeIgniter
Introdução ao
framework CodeIgniter
Anderson Gonçalves – Introdução ao framework CodeIgniter
Sobre mim
Anderson Gonçalves (Bônus)
● Instrutor e desenvolvedor ...
Anderson Gonçalves – Introdução ao framework CodeIgniter
Framework é uma abstração que une códigos comuns entre
vários pro...
Anderson Gonçalves – Introdução ao framework CodeIgniter
Visão geral do CodeIgniter
● Licença MIT
● Grande documentação e ...
Anderson Gonçalves – Introdução ao framework CodeIgniter
Outros frameworks
Anderson Gonçalves – Introdução ao framework CodeIgniter
Instalação
● Faça o download em https://codeigniter.com/download
...
Anderson Gonçalves – Introdução ao framework CodeIgniter
Application/config/config.php
No arquivo config.php, há uma variá...
Anderson Gonçalves – Introdução ao framework CodeIgniter
Application/config/database.php
Neste arquivo fica as configuraçõ...
Anderson Gonçalves – Introdução ao framework CodeIgniter
Estrutura de pastas
As duas principais pastas que
compõe o CI é s...
Anderson Gonçalves – Introdução ao framework CodeIgniter
Estrutura de pastas
● Cache – Páginas em cache
● Config – Arquivo...
Anderson Gonçalves – Introdução ao framework CodeIgniter
Sistema de rotas
Anderson Gonçalves – Introdução ao framework CodeIgniter
Sistema de rotas
O CodeIgniter trabalha com um sistema de rotas b...
Anderson Gonçalves – Introdução ao framework CodeIgniter
Sistema de rotas
● Exemplo.com
Carragará o controller default, co...
Anderson Gonçalves – Introdução ao framework CodeIgniter
Application/config/routes.php
No arquivo routes.php é onde config...
Anderson Gonçalves – Introdução ao framework CodeIgniter
Controllers
Cada classe controller deve estar num arquivo de mesm...
Anderson Gonçalves – Introdução ao framework CodeIgniter
Controllers
O método view() ainda pode receber um vetor como o se...
Anderson Gonçalves – Introdução ao framework CodeIgniter
Loader
A classe Loader é instanciada na inicialização do CI e é u...
Anderson Gonçalves – Introdução ao framework CodeIgniter
Model
Model são as classes responsáveis pela persistência dos dad...
Anderson Gonçalves – Introdução ao framework CodeIgniter
Query Builder
Para trabalhar com o banco de dados em nosso model,...
Anderson Gonçalves – Introdução ao framework CodeIgniter
Query Builder - Insert
Para inserir dados utilizamos o método ins...
Anderson Gonçalves – Introdução ao framework CodeIgniter
Query Builder - Update
Para atualizar dados utilizamos o método u...
Anderson Gonçalves – Introdução ao framework CodeIgniter
Query Builder - Select
Para selecionar dados utilizamos o método ...
Anderson Gonçalves – Introdução ao framework CodeIgniter
Query Builder - Delete
Para apagar dados utilizamos o método dele...
Anderson Gonçalves – Introdução ao framework CodeIgniter
Library
O CI possui diversas libraries prontas para serem usadas,...
Anderson Gonçalves – Introdução ao framework CodeIgniter
Form Validation
Esta library permite criar regras de validação pa...
Anderson Gonçalves – Introdução ao framework CodeIgniter
Form Validation
Configura a library para usar aquela validação:
$...
Anderson Gonçalves – Introdução ao framework CodeIgniter
Form Validation
Caso o método run() tenha retornado falso, podemo...
Anderson Gonçalves – Introdução ao framework CodeIgniter
Obrigado! :)
Dúvidas?
Upcoming SlideShare
Loading in …5
×

Introdução ao framework CodeIgniter

491 views

Published on

Introdução ao framework CodeIgniter, abordando desde a instalação, a um CRUD simples.

Published in: Education
  • Login to see the comments

  • Be the first to like this

Introdução ao framework CodeIgniter

  1. 1. Anderson Gonçalves – Introdução ao framework CodeIgniter Introdução ao framework CodeIgniter
  2. 2. Anderson Gonçalves – Introdução ao framework CodeIgniter Sobre mim Anderson Gonçalves (Bônus) ● Instrutor e desenvolvedor Freelancer ● Focado em back-end. ● Experiência com PHP há 6 anos. ● E um pai babão... https://github.com/Bonus3 @AndersonWebM
  3. 3. Anderson Gonçalves – Introdução ao framework CodeIgniter Framework é uma abstração que une códigos comuns entre vários projetos de software provendo uma funcionalidade genérica. Um framework pode atingir uma funcionalidade específica, por configuração, durante a programação de uma aplicação. Ao contrário das bibliotecas, é o framework quem dita o fluxo de controle da aplicação, chamado de Inversão de Controle. - Wikipedia
  4. 4. Anderson Gonçalves – Introdução ao framework CodeIgniter Visão geral do CodeIgniter ● Licença MIT ● Grande documentação e comunidade ativa ● Solução leve para problema complexo usando MVC ● Compatibilidade (PHP >= 5.2, suporte a vários DB) ● Alta performance ● Liberdade ● Sem necessidade de Template Engine ● Fácil de aprender
  5. 5. Anderson Gonçalves – Introdução ao framework CodeIgniter Outros frameworks
  6. 6. Anderson Gonçalves – Introdução ao framework CodeIgniter Instalação ● Faça o download em https://codeigniter.com/download ● Descompacte-o em seu servidor. O arquivo index.php indica o root da sua aplicação. ● Abra e altere os arquivos config.php e database.php na pasta application/config
  7. 7. Anderson Gonçalves – Introdução ao framework CodeIgniter Application/config/config.php No arquivo config.php, há uma variável $config que armazena um vetor das configurações possíveis. As principais: ● base_url (http://www.exemplo.com) ● index_page () ● subclass_prefix (MY_) ● log_threshold (TRUE) RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L]
  8. 8. Anderson Gonçalves – Introdução ao framework CodeIgniter Application/config/database.php Neste arquivo fica as configurações de conexão com o database. O CodeIgniter suporta diversosdatabe, como: MySQL, PostgreSQL, Oracle. As principais configuraçoes: ● DNS ou Hostname ● Username ● Password ● Database ● DBDriver
  9. 9. Anderson Gonçalves – Introdução ao framework CodeIgniter Estrutura de pastas As duas principais pastas que compõe o CI é system e application. Na system, fica os arquivos core do framework, só mexa nesta pasta se realmente souber o que está fazendo. E application é onde ficam os arquivos que forma nossa aplicação.
  10. 10. Anderson Gonçalves – Introdução ao framework CodeIgniter Estrutura de pastas ● Cache – Páginas em cache ● Config – Arquivos de configuração ● Controllers – Arquivos com as classes do controller ● Core – Arquivos que estendem as funcionalidade do CI ou o “motor” da aplicação ● Helpers – Arquivos com funções de ajuda ● Hooks – Arquivos contendo classes a ser usadas em gatilhos do CI ● Language – Pastas e arquivos para o suporte a multi- linguagem ● Library – Bibliotecas construídas exclusivamente para o projeto ● Models – Classes responsáveis para acesso a dados em DB ou arquivos (persistência de dados) ● Views – Arquivos que geram a interface (retorno) pro usuário
  11. 11. Anderson Gonçalves – Introdução ao framework CodeIgniter Sistema de rotas
  12. 12. Anderson Gonçalves – Introdução ao framework CodeIgniter Sistema de rotas O CodeIgniter trabalha com um sistema de rotas baseado na segmentação de URL, onde através deste é determinado qual controller usar, qual método acessar e qual parâmetro passar (se houver).
  13. 13. Anderson Gonçalves – Introdução ao framework CodeIgniter Sistema de rotas ● Exemplo.com Carragará o controller default, configurado no arquivo routes.php ● Exemplo.com/um_controller Carregará o controller um_controller e executará o método index ● Exemplo.com/um_controller/um_metodo Carregará o controller um_controller e executará o método um_metodo ● Exemplo.com/um_controller/um_metodo/um_param Carregará o controller um_controller, executará o método um_metodo e passará param como parâmetro
  14. 14. Anderson Gonçalves – Introdução ao framework CodeIgniter Application/config/routes.php No arquivo routes.php é onde configuramos o controller default, na opção default_controller, e onde podemos criar rotas personalizadas através do vertor armazenado em $route, tendo como índice o caminho personalizado e, em seu valor, o controller com (ou sem) o método ou parâmetro. É possível utilzar expressão regular. Ex: $router['supermercados/:num/pdvs/([a-z0-9_]+)'] = 'pdvs/listar/$1'; Acessando por exemplo: exemplo.com/supermercados/3/pdvs/6 Será carregado o controller Pdvs, executar o método listar e passar como parâmetro o valor 6.
  15. 15. Anderson Gonçalves – Introdução ao framework CodeIgniter Controllers Cada classe controller deve estar num arquivo de mesmo nome, incluindo maiúsculas e minúsculas. Uma sugestão é utilizar o padrão Nome_da_classe. E deve, obrigatoriamente, estender a classe CI_Controller. Nos controllers, é através do método view da classe Loader (esta classe é instanciada automaticamente) que é carregada as views, para isto utilizados: $this->load->view('arquivo'); //Sem a extensão $this->load->view('pasta/arquivo'); //Se estiver numa subpasta
  16. 16. Anderson Gonçalves – Introdução ao framework CodeIgniter Controllers O método view() ainda pode receber um vetor como o segundo parâmetro, onde que com o índice é criado uma variável de mesmo nome e o seu valor. Ex: $data = array( 'title' => 'Introdução ao CI' ); $this->load->view('exemplo', $data); Assim, carregará a view exemplo.php, que terá disponível a variável $title contendo o valor Introdução ao CI.
  17. 17. Anderson Gonçalves – Introdução ao framework CodeIgniter Loader A classe Loader é instanciada na inicialização do CI e é uma das classes mais utilizadas. Através dela, podemos carregar models, helpers e librarys. Qualquer classe carregada, o seu nome, se torna uma propriedade do instância que o carregou. Ex: //Carrega a Classe Usuários da pasta Model $this->load->model('usuarios'); //Agora, existe uma propriedade com o mesmo nome $this->usuarios->metodo_model();
  18. 18. Anderson Gonçalves – Introdução ao framework CodeIgniter Model Model são as classes responsáveis pela persistência dos dados, geralmente, trabalhando com banco de dados. O nome da classe deve ser o mesmo do arquivo e deve, obrigatoriamente, estender da classe CI_Model. Sugiro o mesmo padrão que citei antes (Nome_da_classe). Para utilizá-la deve-se primeiro carregá-la. $this->load->model('nome_da_classe');
  19. 19. Anderson Gonçalves – Introdução ao framework CodeIgniter Query Builder Para trabalhar com o banco de dados em nosso model, o CI disponibiliza a classe DB_query_builder, instanciada através da library database, e armazenada na propriedade db do objeto instanciado. Esta classe é interessante, pois, realiza algumas rotinas automáticas, como: ● Escapar valores ● Construir a string a ser executada pelo database
  20. 20. Anderson Gonçalves – Introdução ao framework CodeIgniter Query Builder - Insert Para inserir dados utilizamos o método insert(), passando como parâmetro um vetor, onde o índice é o nome do campo (coluna) da tabela. Ex: $data = array( 'nome' => $this->input->post('nome'), 'telefone' => $this->input->post('telefone') ); $this->db->insert('contatos', $data); //INSERT INTO `contatos` (nome, telefone) VALUES (`valor_nome`, `valor_telefone`);
  21. 21. Anderson Gonçalves – Introdução ao framework CodeIgniter Query Builder - Update Para atualizar dados utilizamos o método update(). Ex: $data = array( 'nome' => $this->input->post('nome'), 'telefone' => $this->input->post('telefone') ); $where = array( 'id' => $this->input->post('id') ); $this->db->update('contatos', $data, $where); //UPDATE `contatos` SET `nome` = `valor_nome`, `telefone` = `valor_telefone` WHERE `id` = `valor_id`
  22. 22. Anderson Gonçalves – Introdução ao framework CodeIgniter Query Builder - Select Para selecionar dados utilizamos o método get(). $this->db->get('contatos'); //SELECT * FROM contatos
  23. 23. Anderson Gonçalves – Introdução ao framework CodeIgniter Query Builder - Delete Para apagar dados utilizamos o método delete(). $where = array( 'id' => $this->input->get('id') ); $this->db->delete('contatos', $where); //DELET FROM contatos WHERE id = 'valor_id'
  24. 24. Anderson Gonçalves – Introdução ao framework CodeIgniter Library O CI possui diversas libraries prontas para serem usadas, já vimos a que auxilia na manipulação de bando de dados. Há, também, a possibilidade de poder criar suas próprias ou estender as já existentes. Uma das mais usadas é o Form Validation. $this->load->library('form_validation');
  25. 25. Anderson Gonçalves – Introdução ao framework CodeIgniter Form Validation Esta library permite criar regras de validação para as entradas de formulários. Fazemos isto através de um vetor bidimensional. $rules = array( Array( 'field' => 'campo', 'label' => 'Campo', 'rules' => array('vetor_de_regras'), 'errors' => array( 'regra' => 'Mensagem' ) ) );
  26. 26. Anderson Gonçalves – Introdução ao framework CodeIgniter Form Validation Configura a library para usar aquela validação: $this->form_validation->set_rules($rules); E executa o método run(), que rotorna um valor booleano, onde TRUE, o formulário está preenchido corretamente, e FALSE, caso não esteja. $this->form_validation->run();
  27. 27. Anderson Gonçalves – Introdução ao framework CodeIgniter Form Validation Caso o método run() tenha retornado falso, podemos pegar os erros gerados através dos métodos erro_array() ou erro_string(). Cada erro retornado estará num parágrafo. Se desejar alterar a tag que envolve o erro, utilize o método set_error_delimiters('tag antes do erro', 'tag depois do erro'); Ex: $this->form_validation->set_error_delimiter('<div>', '</div>');
  28. 28. Anderson Gonçalves – Introdução ao framework CodeIgniter Obrigado! :) Dúvidas?

×