Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.
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?
Próxima SlideShare
Cargando en…5
×

Introdução ao framework CodeIgniter

490 visualizaciones

Publicado el

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

Publicado en: Educación
  • Inicia sesión para ver los comentarios

  • Sé el primero en recomendar esto

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?

×