Ademir C. Gabardo Novatec
Novatec Editora Ltda. 2015. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo, sem prévia autorização, por escrito, do autor e da Editora. Editor: Rubens Prates Assistente editorial: Priscila A. Yoshimatsu Revisão gramatical: Priscila A. Yoshimatsu Capa: Carolina Kuwabata Editoração eletrônica: Carolina Kuwabata ISBN: 978-85-7522-457-1 YG20150925 Histórico de impressões: Outubro/2015 Primeira edição Novatec Editora Ltda. Rua Luís Antônio dos Santos 110 02460-000 São Paulo, SP Brasil Tel.: +55 11 2959-6529 Email: novatec@novatec.com.br Site: www.novatec.com.br Twitter: twitter.com/novateceditora Facebook: facebook.com/novatec LinkedIn: linkedin.com/in/novatec
Sumário Prefácio... 11 Agradecimentos... 13 Sobre o autor... 14 Introdução... 16 Capítulo 1 Atualizações da versão e ambiente de desenvolvimento... 19 1.1 O que há de novo na versão 3.0... 19 1.2 Preparando o seu ambiente local...20 1.2.1 Instalando Apache, PHP e MySQL no seu computador local...20 1.3 Com que editar os códigos?...22 1.3.1 Ferramentas úteis para depuração de código-fonte...22 1.3.2 Ferramentas para lidar com bancos de dados...22 Capítulo 2 Como funciona o CodeIgniter... 24 2.1 Estrutura de pastas do framework... 24 2.1.1 Pasta application...25 2.1.2 Pasta system...26 2.1.3 Pasta guia do usuário...27 2.2 Entendendo o MVC...28 2.2.1 Models...29 2.2.2 Views...29 2.2.3 Controllers...30 2.3 Outras estruturas do CodeIgniter...31 2.3.1 Helpers... 32 2.3.2 Libraries... 32 2.3.3 Drivers...33 7
8 Criando um E-Commerce com CodeIgniter 2.4 URLs...33 2.4.1 Reescrevendo URLs com arquivos.htaccess...34 2.4.2 Analisando um arquivo.htaccess... 35 2.5 Sistema de rotas... 37 2.6 Arquivos de configuração...38 2.6.1 Arquivo de configuração global da aplicação... 39 2.7 Carregando recursos com autoloader...40 2.8 Depurando código e entendendo as mensagens de erro... 41 2.9 Níveis de log em ambiente de produção e em ambiente local... 41 Capítulo 3 Criando um blog com o CodeIgniter... 43 3.1 Criando e acessando métodos nos controladores...43 3.2 Criando e conectando o banco de dados...49 3.2.1 Parâmetros de conexão ao banco de dados... 52 3.3 Recuperando informações do banco de dados... 55 3.4 Criando formulários e enviando emails... 61 3.5 Validando formulários...66 3.6 Traduzindo as mensagens de validação do formulário...69 3.7 Alterando a página de erro 404...69 3.8 Criando a área de administração do blog...70 3.8.1 Adicionando registros ao banco de dados... 71 3.8.2 Alterando e excluindo registros do banco de dados...73 3.8.3 Protegendo a página de administração com senha...77 3.8.4 Adicionando formatação com CSS ao blog... 81 3.9 Considerações finais...84 Capítulo 4 Iniciando a criação da loja online... 85 4.1 Uma breve introdução sobre comércio eletrônico...85 4.1.1 O que uma loja online deve ter...86 4.1.2 Alguns dados e projeções sobre o comércio eletrônico no Brasil...89 4.1.3 Sistemas de cobrança...90 4.1.4 Sistemas de envio de mercadorias qual escolher?... 91 4.2 Criando o front-end do website...92 4.2.1 Adicionando o Bootstrap às views do CodeIgniter...96 4.2.2 Conectando ao banco de dados e criando as primeiras tabelas da loja.101 4.2.3 Criando páginas de categorias... 104 4.2.4 Criando páginas de produtos...115 4.2.5 Criando um cadastro de clientes... 122 4.2.6 Gerenciando sessões e login de usuários...135
Sumário 9 4.2.7 Criando um sistema de recuperação de senha... 140 4.2.8 Permitindo a alteração segura de cadastro de um usuário... 144 4.3 Criando o carrinho de compras... 151 4.3.1 Adicionando o cálculo de fretes à loja online...161 4.3.2 Adicionando um sistema de cobrança e checkout à loja...179 4.3.3 Adicionando acompanhamento de pedidos à loja online...208 Capítulo 5 Criando a área de administração da loja online... 212 5.1 Organizando os arquivos da área de administração...212 5.2 Utilizando o template SB Admin 2 para as views da área de administração.214 5.3 Gerenciando categorias... 220 5.4 Gerenciando produtos... 234 5.5 Gerenciando o cadastro de clientes... 243 5.6 Gerenciando pedidos de clientes... 247 5.7 Gerenciando a tabela de fretes...261 5.8 Gerenciando o acesso à área de administração...266 Capítulo 6 Outros tópicos com o CodeIgniter... 284 6.1 Criando suas próprias bibliotecas para o CodeIgniter...284 6.1.1 Criando uma biblioteca para internacionalização de sites...286 6.2 Criando seus próprios arquivos de configuração... 287 6.3 Mais sobre conexões com bancos de dados...289 6.3.1 Conectando a mais de um banco de dados...289 6.4 CAPTCHA e validação personalizada de formulários...290 6.5 Tratamento de imagens... 295 6.5.1 Redimensionando uma imagem... 295 6.5.2 Rotacionando uma imagem...300 6.5.3 Gerando marca-d água...301