CodeIgniter: framework PHP ágil, robusto e de alta performance

2 de março de 2009, em Passos Iniciais, por Tárcio Zemel

Codeigniter.

Para quem programa/trabalha com PHP – e outras linguagens de programação, também -, sabe que o tempo de desenvolvimento é uma das coisas importantes a se considerar em um projeto. De igual maneira, deve-se fazer web sites e aplicações web que sejam confiáveis e seguros, ao mesmo tempo que possuam boa performance e sejam rápidos.

É possível conseguir estes objetivos programando “na unha” – jargão conhecido entre os programadores”; entretanto, isso possui algumas desvantagens como, só para citar algumas:

  • Tempo “gasto” devido à preocupação com validações e segurança, em geral;
  • Preocupações com o “estilo” da codificação, haja vista o fato de eventuais compatibilidades entre servidores e versões do PHP;
  • Documentação;
  • Escalabilidade;
  • Combinar, de forma eficiente, leveza da aplicação e performance.

Para sanar, ou, pelo menos, amenizar, a maioria das questões apresentadas e outras mais, muitos programadores optam por utilizam um framework. Digo “um” porque, apesar da existência de inúmeros frameworks PHP, gratuitos ou não, o mais comum é o programador fazer alguns testes e escolher um só para trabalhar; escolher aquele que é mais consonante com sua metodologia e prática de programação – no caso, programação PHP.

Como você deve ter percebido pelo nome deste blog, aqui tratamos sobre o melhor framework PHP gratuito: CodeIgniter.

Sobre o CodeIgniter

CodeIgniter foi originalmente desenvolvido por Rick Ellis (CEO da EllisLab Inc.). O framework foi escrito para ter desempenho no “mundo real”, com muitos da classe bibliotecas, helpers e sub-sistemas baseados no código base do ExpressionEngine; atualmente é desenvolvido e mantido pela ExpressionEngine Development Team.

CodeIgniter, como bom framework que é, permite o desenvolvimento de web sites, softwares e aplicações em PHP de maneira ágil e relativamente descomplicada. O objetivo do CodeIgniter é disponibilizar um framework de máxima performance e capacidade, que seja flexível e o mais leve possível. Para conseguir estes objetivos, as bases do CodeIgniter são:

  • Instanciamento dinâmico. No CodeIgniter, componentes são carregados e rotinas executadas somente quando preciso, ao invés de globalmente;
  • Junção de componentes. Os componentes do framework são intercomunicativos, proporcionando alto índice de reutilização e flexibilidade dos sistemas baseados/derivados;
  • Singularidade dos componentes. No CodeIgniter, cada classe – e respectivas funções – é autônoma, o que permite elevar o grau de utilidade e o sistema, como um todo, ter mais performance.

CodeIgniter utiliza o padrão MVC

O conhecido e “consagrado” padrão MVC foi adotado no CodeIgniter. Todo o framework é baseado em Models, Views e Controllers; mas, diferente de muitos frameworks PHP, existe realmente uma flexibilidade muito grande! Por exemplo, um Controller não está “amarrado”, necessariamente, a um View e, inclusive, pode, este Controller, chamar diferentes Models e diferentes Views – torna-se muito fácil fazer templates, por exemplo.

Classes, bibliotecas e “helpers” nativos para diversas funcionalidades

Como bom framework PHP, CodeIgniter tem seus próprios excelentes recursos nativos, utilizados através de suas bibliotecas, “helpers” e classes que já constam no framework por default:

  • Calendários. Fácil criação de calendários, inclusive com criação de templates de formatação e exibição.
  • Bancos de dados. De maneira simples e rápida é possível: carregar databases, executar querys, manipular resultados de consultas, realizar transações (como se fosse PDO), fazer query caching, dentre outros.
  • E-mails. Enviar e-mails em protocolos diferentes (Mail, Sendmail e SMTP), envio de cópias e cópias ocultas, e-mail em texto puro ou HTML, enviar e-mail com anexos, ferramenta própria para debug, dentre outros.
  • Criptografia. Funções gerais de criptografia, através do uso de hashings e chaves.
  • Formulários. Criação de tags de formulário “on the fly“, tratamento de campos e informações, upload de arquivos, etc.
  • Manipulação de imagens. Redimensionar, criar miniaturas, rotacionar, cortar e inserir marca d’água.
  • FTP. Funções gerais de FTP, como mover, renomear, deletar, etc; e ainda uma função especial de espelhagem (“mirroring“), que permite criação dinâmica de diretórios no servidor a partir de arquivos na máquina local.
  • Compactação de arquivos. Manipulação, criação, controle e edição de arquivos compactados, sendo possível criar arquivos diretamente no servidor, acrescentar files diretamente e fazer downloads dos mesmos.
  • Controle de cookies sessões PHP. Manipulação e controle geral de cookies e sessões PHP, com todas suas funções, capacidades e potencialidades existentes.
  • Muitas outras funcionalidades. Muitas mesmo!

Material de aprendizagem, apoio e consulta

No do site do CodeIgniter há material de aprendizagem, apoio e consulta para as pessoas que usam o framework, através do Guia do Usuário, Wiki, fóruns, vídeo-aulas e exemplos e notícias, através de um blog oficial. Além disso, também há uma comunidade de programadores que utilizam o CodeIgniter e se ajudam mutuamente.

Gostou do CodeIgniter?

Através destas breves características do CodeIgniter já dá pra ter uma noção da potência do framework! Segundo o Top 10 PHP Frameworks, o CodeIgniter é o 3º melhor framework PHP do mundo (na data de publicação deste artigo)!  Entretanto, para você decidir se gosta ou não, realmente, é preciso que você baixe o CodeIgniter e faça seus próprios testes, faça seus primeiros sites usando o framework, seus primeiros sistemas e decida por si só.

Temos certeza de que você vai gostar e, qualquer coisa, estamos aí para ajudar! ;-)

14 comentários em "CodeIgniter: framework PHP ágil, robusto e de alta performance"

gravatar

Rúbia Gardini  em 23 de março de 2009

Eu realmente não exagero quando digo que o CodeIgniter mudou minha vida.

Sou aquele caso clássico de profissional que faz faculdade de Design mas depois começa usando um pouquinho de programação em Flash… depois usa um PHP simples pra fazer formulário de envio… e quando vai ver, está trabalhando como programadora.

A facilidade que o CI interage com Banco de Dados, os helpers, o próprio fato de ser um framework OOP fazem com que ele seja incrível.

É isso aí, recomendo a todos.

gravatar

Igo Medeiros  em 5 de junho de 2009

O CI é de fácil configuração referente aos outros Frameworlks PHP, isso ajuda na agilidade que se precisa de um framework para se adaptar a um projeto que possa estar funcionando em pouco tempo, sem perder muito tempo com a configuração, e ter a certeza que vai funcionar corretamente ao colocar no ar.
O principal motivo que me levou a usa-lo, realmente, foi a flexibilidade que ele apresenta em aproveitar as bibliotecas nativas, e sem falar no suporte que oferece de maneira clara através do Guia do Usuário.
Aproveitem e utilizem sem dúvida que estarão com um bom Framework PHP.

gravatar

Tárcio Zemel  em 26 de junho de 2009


@ Rúbia Gardini,
@ Igo Medeiros

Isso, gente! Agora vocêd disseram tudo! Essas e outras características fazem do CodeIgniter, na minha opinião, o melhor framework PHP da atualidade! :-D

gravatar

Nei  em 14 de dezembro de 2009

Isso aí galera, não entendo metade do que vcs postam ainda, mas já tô me atualizando…
A propósito: CI = Code Igniter, para os mais desavisados que eu… rs

gravatar

mauricio  em 6 de dezembro de 2010

O CI já tá em 2º no Top 10 PHP Frameworks, deixando o Cake para a 3ª colocação no ranking

gravatar

Tylër Vortex  em 8 de dezembro de 2010

Oi, fiquei facinado em saber que ele faz tudo isso! ^^

Gostaria de saber se ele também contém bugs para multipload com plugin flash, assim como o cakePHP, em perder a sessão e gerar erro 302.

Obrigado!

gravatar

Tárcio Zemel  em 1 de fevereiro de 2011

Aí vai depender de qual plugin vai ser usado para o multiupload. Eu, pelo menos, já usei e funcionou tudo como deveria. Experimente ver o Uploadfy.

gravatar

Rafael PImenta  em 25 de agosto de 2011

Opa, nós temos um site em codeigniter aqui e resolvemos muda-lo para um servidor melhor depois de 4 anos.
Mas agora, tudo parece funcionar, contudo alguns scripts recebem um post para inserir no banco de dados, mas a pagina gera o erro 302 e retorna para a pagina anterior.
o servidor de producao ainda funciona normalzinho, copiamos os arquivos, mas agora está com esse problema sem inserir. Poderia me dar uma ajuda?
abs e Obrigado!

gravatar

Tárcio Zemel  em 9 de setembro de 2011

Se continua funcionando bem na outra instalação e o erro aconteceu depois da mudança de servidor, então provavelmente é alguma configuração no novo server que está causando isso.

gravatar

E Oliveira  em 11 de maio de 2012

Gostaria de Saber se se realmente o Codeigniter vai ser descontinuado como falam por ai na internet!

gravatar

Tárcio Zemel  em 12 de maio de 2012

Acho que você está conversando com as pessoas erradas, colega… A comunidade está mais forte do que nunca e a versão 3 está em pleno desenvolvimento!

Comente!