O documento apresenta uma introdução ao framework PHP CodeIgniter. Apresenta os pré-requisitos necessários como lógica de programação e orientação a objetos. Discute sobre a estrutura MVC e como o CodeIgniter utiliza essa estrutura de forma leve e flexível. Fornece exemplos de funções nativas como envio de e-mail, manipulação de banco de dados e imagens.
1. Desenvolvimento Web com
CodeIgniter
Não passe mais trabalho com
o feijão-com-arroz. Vá direto ao que
interessa!
Pedro Conrad Jr
@pconradjunior
2. Vem cá... te conheço?
Quem é o Pedro :)
● Técnico em Processamento de Dados (1998) e Bacharel em Informática
(2002) pela Universidade da Região da Campanha.
● Atua há 10 anos na área de Informática, com desenvolvimento de
software, utilizando software livre para desenvolvimento desde 1999.
● Atualmente trabalha na Universidade Federal do Pampa (UNIPAMPA)
como Analista de TI, basicamente com desenvolvimento de software PHP.
3. Agenda
● Pré-requisitos: As panelas
● Programação Orientada a Objetos
● Frameworks: O feijão
● MVC: Vamos parar com a bagunça!
● CodeIgniter: O que é?
● Estrutura do CodeIgniter
● Funções Nativas
● Suporte a Banco de Dados
● Exemplos
● Bibliotecas
4. Pré-requisitos: As panelas
● Entender de Lógica de Programação
● Ter noções de Orientação a Objetos
● Ter noções de HTML/XHTML
● Noções de Banco de Dados
● Saber programar em PHP
5. Programação Orientada a
Objetos
O que é? “A orientação a objetos é um paradigma
baseado na composição e interação entre
unidades de software, chamadas de objetos.”
(Wikipedia)
6. Frameworks: O feijão
● Trabalho x Tempo de Desenvolvimento
● Confiabilidade e Segurança
● Programando “na unha”: E o tempo?
● Estilo de Programação
● Documentação;
● Desempenho da Aplicação
8. O CodeIgniter: o que é?
O objetivo do CodeIgniter é disponibilizar
um framework de máxima performance e
capacidade, que seja flexível e o mais
leve possível.
Bases do framework:
● Instanciamento dinâmico.
● Junção de componentes.
● Singularidade dos componentes.
● Uso do MVC
9. Estrutura do CodeIgniter
● Diretórios
● Os 3 diretórios existentes
na raiz da estrutura do
CodeIgniter são:
● application. Pasta onde
os arquivos do aplicativo
ficam.
● system. Local destinado
aos arquivos do
framework.
● user_guide. Contém o
Guia do Usuário
10. Funções nativas do CodeIgniter
● Geração de calendários;
● Suporta vários bancos de dados;
● E-mails;
● Criptografia;
● Formulários;
● Manipulação de imagens;
● FTP;
● Compactação de arquivos;
● Controle de cookies sessões PHP;
● Roteamento de URL (com expressões
11. Suporte a Banco de Dados
● Bancos Suportados: PostgreSQL, MySQL, MsSQL,
Oracle, SQLite e outros (via ODBC)
● ActiveRecord
○ Uma mãozinha (das grandes!)
● Singleton
12. Comparando?
Modo Tradicional
// SQL no "braço"
$ins = "insert into participantes(nome, email, rg, cpf, endereco,bairro, cidade, cep, estado,
instituicao, departamento, curso,qualificacao, modalidade, situacao) values('$nome', '$email',
'$rg', '$cpf', '$endereco', '$bairro', '$cidade','$cep', '$estado','$instituicao',
'$departamento', '$curso','$qualificacao', '$modalidade', '$situacao');";
conecta();
$r = mysql_query($ins) or die('Erro inserindo dados!'); // Execute ou morra!
$sql = "select * from participantes where cpf='$cpf'"; // me conta.. qual a ID do participante?
$c = mysql_query($sql) or die('Erro na consulta!');
$id = mysql_result($c,0,'id');
return $id;
Com CI
$dados = $_POST;
$this->db->insert('participantes',
$dados);
return $this->db->insert_id();
14. Bibliotecas
Biblioteca para Envio de SMS usando Central VOIP
Use assim:
$this->load->library('Gerenciador_de_sms');
$resultado = $this->gerenciador_de_sms->enviar('5599109105',
'Hello, Chuck Norris!!');
15. Quero aprender mais... Onde
tem?
● CodeIgniter - Open source PHP web application
framework – www.codeigniter.com
● CodeIgniter Brasil: Tutoriais, dicas, macetes,
códigos... – www.codeigniterbrasil.com
● Grupo CodeIgniter-BR – Grupo de discussão
brasileiro hospedado no Google Groups - https:
//groups.google.com/forum/#!forum/codeigniter-
br