Desvendando o CodeIgniter 4
Jonathan Lamim AntunesPrefácio
Comecei a programar em PHP nos idos de 1999, ainda na versão 3. Na época, os scripts eram renomeados com a extensão .php3 no intuito de diferenciá-los das rotinas escritas em versões anteriores da linguagem.
Os sistemas eram grandes monólitos rodando sob um PHP geralmente compilado "na mão", pois eventualmente se dependia de extensões e bibliotecas externas, sendo que nem PECL existia.
Com o advento do PHP5 em 2004, a Orientação a Objetos melhorou absurdamente e começamos a rodar sites/sistemas com grande performance sob ZendEngine 2. Tal maturidade propiciou a comunidade projetos mais ambiciosos, principalmente no quesito reaproveitamento de código. Foi quando começaram, finalmente, a surgir os frameworks PHP - muito inspirados no Ruby on Rails, diga-se de passagem...
Das grandes vedetes da época, como CakePHP e Prado, o arcabouço que despontou foi ele: CodeIgniter, mantido pela extinta Ellis Lab. Há impressionantes 14 anos, o CodeIgniter já oferecia cerca de 20 bibliotecas, padronizando o envio de e-mails, propiciando validações, paginação de tela, mecanismo de template e XML-RPC.
Lembro que a documentação era muito bem organizada, de fácil navegação, o que ajudou enormemente na popularização do framework.
Hoje, em meio às grandes melhorias que o PHP nos trouxe (como Composer, xDebug, profiling, testes etc.), o CodeIgniter se apresenta com respaldo, reinventando-se, apoiado pela enorme comunidade e do ecossistema que o suporta.
O livro do amigo Jonathan Lamim é literatura obrigatória a todos os desenvolvedores que utilizam o CodeIgniter e também outros frameworks, pois o livro demonstra o quão maduro ele se tornou (agora na versão 4.x) e os motivos pelos quais ainda é considerado um framework extremamente leve, seguro, completo e com baixa curva de aprendizado.
A comunidade CodeIgniter tem sorte de contar com este grande autor e profissional no processo de "evangelização" do CodeIgniter aos quatro ventos. A comunidade PHP brasileira cresce com tal publicação, pois a quantidade de livros sobre esta última versão é mundialmente escassa, nos prestigiando ainda mais.
Desejo aos colegas programadores que sorvam cada capítulo deste exclusivo material, muito bem elaborado e consistente.
Ari Stopassola Junior - Perito Forense Computacional
Sobre o CodeIgniter
O CodeIgniter é um framework para desenvolvimento de aplicações web utilizando a linguagem PHP. Ele tem como objetivo possibilitar aos desenvolvedores maior agilidade no processo de desenvolvimento através de um conjunto de bibliotecas nativas, compatibilidade com bibliotecas externas e uma estrutura de codificação propícia à produtividade e à alta performance na criação de aplicações web.
Uma das premissas deste framework é manter o processo de desenvolvimento flexível, podendo utilizar bibliotecas de terceiros, desenvolver suas próprias bibliotecas e estender - até mesmo substituir - partes da estrutura base (core) do próprio framework.
O CodeIgniter é ideal para você que:
- quer um framework mais enxuto;
- quer menos dor de cabeça com as configurações do framework para iniciar um projeto;
- quer uma estrutura de codificação menos restritiva;
- quer soluções simples e objetivas;
- quer programar se a necessidade de utilizar a linha de comando para tudo;
- quer evitar bibliotecas monolíticas, como o PEAR.
O que há de novo na versão 4.x
A versão 4.x do CodeIgniter está completamente reformulada, trazendo mais performance para as aplicações e para os processos de desenvolvimento. Além da nova estrutura de arquivos e codificação, o código do framework foi reescrito 100% em PHP 7, o que traz grandes melhorias de performance e até mesmo facilidades de codificação. Teremos um capítulo exclusivo no livro falando sobre a arquitetura do CodeIgniter 4.
Requisitos técnicos
Para utilizar o CodeIgniter 4 é necessário atender a alguns requisitos técnicos conforme especificado a seguir:
- PHP 7.2 ou versão mais recente;
- extensão intl instalada no servidor;
- estar com as extensões php-json, php-mbstring, php-mysqlnd e php-xml ativadas;
- caso pretenda utilizar a biblioteca CURLRequest, é necessário instalar a biblioteca libcurl do PHP.
Para bancos de dados, as recomendações são:
- MySQL (5.1+) via driver MySQLi;
- PostgreSQL através do driver Postgre;
- SQLite3 através do driver SQLite3.
O autor
Jonathan Lamim é desenvolvedor de software desde 2005, e nesses 15 anos trabalhando com tecnologia teve a oportunidade de atender empresas tanto no Brasil como em países como Japão, Estados Unidos, Austrália, Canadá, Alemanha e Inglaterra.
Desenvolveu desde sites institucionais até sistemas de apoio para processos internos de instituições financeiras, e com isso pôde adquirir vasta experiência para compartilhar em seus 4 livros já publicados.
Também ajuda no desenvolvimento do CodeIgniter 4 e outros projetos open source, e produz conteúdo sobre tecnologia e desenvolvimento pessoal e profissional que publica em seu blog.
Além da experiência e do trabalho na área de tecnologia, Jonathan também possui formações em coaching e análise comportamental, conhecimentos que ele utiliza tanto no desenvolvimento de soluções de forma mais humanizada, quanto no trabalho como palestrante e trainer.
Sumário
- Parte 1 - Introdução
- 1 Sobre o CodeIgniter
- 2 Instalação e configurações iniciais
- 3 Upgrade da versão 3.x para a 4.x
- 4 Possíveis problemas na instalação
- 5 Boas práticas de segurança
- Parte 2 - Arquitetura
- 6 Estrutura da aplicação
- 7 Gerenciamento da aplicação
- 8 Múltiplos ambientes
- 9 Arquivos de configuração
- 10 Modularização
- 11 MVC
- 12 Autoloading
- 13 Serviços
- 14 Requisições HTTP
- 15 URLs
- 16 Helpers
- 17 Bibliotecas
- 18 Logs
- 19 Tratamento de erros
- 20 Cache de páginas
- 21 Controladores
- 22 Filtros de controladores
- 23 Rotas
- 24 Views
- 25 View Parser
- 26 Models
- 27 Entidades de Classe
- Parte 3 - Banco de dados
- 28 Configurações iniciais
- 29 Conectando a aplicação com o banco de dados
- 30 Operações básicas com banco de dados
- 31 Query Builder
- 32 Transactions
- 33 Database Forge: Manipulando bancos de dados
- 34 Migrations: Mantendo o banco de dados estruturado e organizado
- Parte 4 - Estendendo o framework
- 35 Estendendo classes do Core
- 36 Estendendo o controlador
- 37 Eventos
- 38 Criando bibliotecas
- 39 Criando helpers
- 40 Trabalhando com arquivos de tradução
- 41 Links úteis
- 42 Conclusão
Dados do produto
- Número de páginas:
- 315
- ISBN:
- 978-65-86110-45-6
- Data publicação:
- 10/2020