CodeIgniter

CodeIgniter 4 – Um pouco do que está acontecendo

O CodeIgniter 4 virá totalmente repaginado. Ele não será uma continuidade da versão 3x (sem retro-compatibilidade), mas sim uma nova versão, totalmente independente e escrita em PHP7. Ele virá com várias mudanças e melhorias.

Atualmente está em uma versão pré-Alpha, que teve sua primeira fase de desenvolvimento concluída no dia 24/06/2016 e contou com a replicação de parte do núcleo e reescrita dele.

O plano inicial

O plano inicial para o CodeIgniter 4 foi lançado em 2015, abordando alguns pontos fundamentais para mudanças e evolução, mas sempre buscando manter asimplicidade, rapidez e flexibilidade do CodeIgniter.

Mudanças fundamentais

Quando o PHP5 foi lançado o CodeIgniter não sofreu nenhum tipo de alteração a nível de estrutura de código, e isso fez com que ele perdesse um pouco de espaço para outros frameworks. E visando a evolução e o futuro do framework, ele será totalmente reescrito utilizando o PHP 7, para que seu código fique mais moderno e limpo.

Ainda não foi divulgada a data de lançamento, mas os desenvolvedores responsáveis estão trabalhando focado no PHP 7 pois no cronograma deles quando forem lançar o PHP 5.6 já estará em modo de manutenção, ou seja, perto de parar de receber suporte. Como a nova versão não terá compatibilidade com a versão 3x, essa continuará recebendo suporte e atualizações de correção por algum tempo, ainda não definido, mas sabe-se que será por mais tempo do que o utilizado entre as versões 2x e 3x.

Os diretórios application e system passarão a trabalhar sob a PSR-4.

Pacotes e Módulos

Não mais existirão. Isso vai acontecer pois o CodeIgniter passará a utilizar namespaces.

Roteamento

Será atualizado e será possível desligar o “magic routing”, que mapeia a url usando o modo “controller/method”. Você poderá usar as configurações para definir como o roteamento irá funcionar.

Testes Automatizados

Durante o desenvolvimento será utilizado o PHPUnit, e este será extendido para produção, facilitando assim os testes durante o desenvolvimento das aplicações usando Codeigniter 4.

Retro-compatibilidade

Como o framework será totalmente reescrito, e usando PHP 7, não haverá compatibilidade com versões anteriores. Isso será feito para manter o código escalável, rápido, de fácil manutenção e upgrade.

Fases do desenvolvimento da nova versão

O desenvolvimento está dividido em 3 fases, conforme poderá ser visto a seguir.

Durante essas fases de desenvolvimento, as bibliotecas listadas abaixo serão removidas do núcleo e deixadas como download opcional:

– Typography
– FTP
– ZIP
– XML-RPC

As biblitoecas Cart, Javascript, Unit_test e Trackback serão removidas definitivamente.

Fase 1

– Autoloader (classmap, PSR4 autoloader, e CI magic)
– Logging (PSR7 compliant)
– Exception Handling
– HTTP Request/Response (IO)
– Routing (convenções e configurações)
– Controllers (CI-style)
– Models (CI-style, Active Record)
– Database Layer (com adaptadores MySQLi e Postgre)
– Config (flexibilidade)
– Security (Escaper, CSRF)
– Sessions (com adaptadores para arquivos e banco de dados)
– Views
– Ferramentas de Debugging e Profiling

Fase 2

– Helpers
– Language/Localization
– Caching
– Email
– Encryption
– Form Validation
– Image Library
– Pagination
– Uploader
– Sessions (memcached & redis)
– Suporte a outros DBs

Fase 3

– FTP
– XML-RPC
– Zip
– Typography
– Template Parser

O que nos resta agora é esperar, acompanhar e se possível contribuir para o desenvolvimento da versão 4.

Qualquer novidade, informaremos aqui no portal. Enquanto isso, se quiserem dar uma olhada no repositório oficial da nova versão, basta clicar aqui.