CodeIgniter 3.0 saiu!

Após vários meses sem atualizações importantes e depois de ter mudado de casa, finalmente está disponível para download a versão 3.0 do CodeIgniter.

Dezenas de bugs foram corrigidos desde a última versão e algumas bibliotecas foram totalmente reescritas, assim como também algumas deixaram de existir e estarão na versão 3.0 apenas por questões de retrocompatibilidade.

Veja abaixo algumas das alterações mais importantes no CodeIgniter 3.0:

  • A licença de distribuição agora é a MIT
  • Os drivers de banco de dados foram extensivamente refeitos.
  • PDO está totalmente funcional com subdrivers
  • Biblioteca Session totalmente reescrita do zero.
  • Biblioteca Encryption totalmente reescrita do zero.
  • A unidade de testes foi reforçada e a cobertura de código foi melhorada.
  • Recomendável o uso do PHP 5.4 ou maior, porém, ainda funciona no PHP 5.2.4
  • Classe Active Record foi renomeada para Query Builder, para remover a confusão com o padrão de desenvolvimento Active Record.
  • Alterada a convenção de nomeação de arquivos. Agora arquivos de classe devem começar com a primeira letra em maiúsculo, e as outras e minúsculo.
  • Banco de dados padrão alterado para mysqli. A versão antiga mysql foi descontinuada e não deve ser usada.
  • A biblioteca SHA1 foi descontinuada.
  • Adicionada uma configuração que permite-se usar o autoload do Composer em vez do autoloader do CodeIgniter.
  • E muitas e muitas outras. Para ver a lista completa, clique aqui.

Em breve começarei a fazer alguns posts já usando o CodeIgniter 3.0, mostrando algumas diferenças entre as versões.

Para baixar a versão 3.0 do CodeIgniter, clique aqui.

Abraços

Fábio

Fábio S. Reszko

Sou Programador PHP desde 2006 e eu acredito sinceramente que programar usando um Framework PHP é a solução para os problemas de códigos desorganizados, difíceis de entender e de dar manutenção no futuro. Se você também acredita nisto, então fique à vontade em explorar meu blog.

  • Junior

    Fábio, parabéns pela iniciativa do site. Bom queria dar uma dica de um post, já que saiu a nova versão 3.0 poderia mostrar como fazer um update da versão 2.2 por exemplo para essa mais atual.

    Fico no aguardo,

    Abraços

  • Gisele

    Fabio, obrigada era exatamente isso que estava procurando. Estou estudando um projeto existente, não sei qual versão do Codeigniter ele é

    Mas no config.php esta assim:

    ‘AUTO’ Default – auto detects
    | ‘CLI’ or ‘argv’ Uses $_SERVER[‘argv’] (for php-cli only)
    | ‘PATH_INFO’ Uses $_SERVER[‘PATH_INFO’]
    | ‘REQUEST_URI’ Uses $_SERVER[‘REQUEST_URI’]
    | ‘QUERY_STRING’ Uses $_SERVER[‘QUERY_STRING’]
    |
    */
    $config[‘uri_protocol’] = ‘AUTO’;

    e mais pra baixo

    $config[‘sess_driver’] = ‘cookie’;
    $config[‘sess_valid_drivers’] = array();
    $config[‘sess_cookie_name’] = ‘ci_session’;
    $config[‘sess_expiration’] = 0;
    $config[‘sess_expire_on_close’] = FALSE;
    $config[‘sess_encrypt_cookie’] = FALSE;
    $config[‘sess_use_database’] = FALSE;
    $config[‘sess_table_name’] = ‘ci_sessions’;
    $config[‘sess_match_ip’] = FALSE;
    $config[‘sess_match_useragent’] = TRUE;
    $config[‘sess_time_to_update’] = 300;

    Fiz o Download do codeigniter 3.0 os mesmos trechos estão diferentes:

    ‘REQUEST_URI’ Uses $_SERVER[‘REQUEST_URI’]
    | ‘QUERY_STRING’ Uses $_SERVER[‘QUERY_STRING’]
    | ‘PATH_INFO’ Uses $_SERVER[‘PATH_INFO’]
    |
    | WARNING: If you set this to ‘PATH_INFO’, URIs will always be URL-decoded!
    */
    $config[‘uri_protocol’] = ‘REQUEST_URI’;

    mais pra baixo

    $config[‘sess_driver’] = ‘files’;
    $config[‘sess_cookie_name’] = ‘ci_session’;
    $config[‘sess_expiration’] = 7200;
    $config[‘sess_save_path’] = NULL;
    $config[‘sess_match_ip’] = FALSE;
    $config[‘sess_time_to_update’] = 300;
    $config[‘sess_regenerate_destroy’] = FALSE;

    Algumas variaveis foram eliminadas, falando especificamente do arquivo config, ao atualizar o projeto para o 3.0. mudar, por exemplo os campos:

    $config[‘uri_protocol’] = ‘AUTO’;

    para

    $config[‘uri_protocol’] = ‘REQUEST_URI’;

    e

    $config[‘sess_driver’] = ‘cookie’;

    para

    $config[‘sess_driver’] = ‘files’;

    O que essa nova configuração muda no sistema?

    No 3.0 não tem mais a opção auto nem cookie (nos comentarios)

  • Gisele, para saber a versão do CodeIgniter, vá em algum controller e digite:

    echo CI_VERSION;

    Isso vai imprimir na tela a versão do CI usada.

    Ou então, acesse: system/core/CodeIgniter.php e procure por esta linha:

    define(‘CI_VERSION’, ‘2.1.0’);

    Ela diz a versão.

    Fabio

  • Gisele

    Apareceu 3.0-dev. Então provavelmente é de quando ainda estava em desenvolvimento a ver 3.0

  • Cálcio

    Essa versão promete muito. Mas na minha humilde opinião, ainda está muito atrasada em relação a outros frameworks. Já que mudaram para UCfirst, pq não mudaram para as recomendações da comunidade? Para quem desconhece, basta acessar os links http://www.php-fig.org/ e http://br.phptherightway.com/?

    Outra coisa que poderiam deixar disponível para uso era o namespace.

  • Realmente. O CI tem que dar uma atualizada urgente em alguns conceitos. Eu achava que na versão 3.0 ele iria aparecer no PHP-FIG, mas não foi dessa vez. O CI tem que mudar bastante coisa pra listar lá.
    Apesar de tudo, ainda acho que para quem não tem noções de MVC, o CI é a melhor opção, pois muitos frameworks mais famosos, como o laravel e zend 2, é um pouco complicado para um usuário básico começar a entender, pois tem muitas configurações a serem feitas, mas claro, vai de cada um.

    Fabio

  • Cálcio

    Com ceteza o CI é o framework mais fácil de ser familiarizar com o MVC e OO em modo geral.