Classes do CodeIgniter

10 de fevereiro de 2011, em Passos Iniciais, por

Como já foi mostrado no artigo sobre o que é um framework e algumas características do framework CodeIgniter, existem, embutidos, vários e vários arquivos prontos com scripts que garantem um bom funcionamento ao CI.

E fazem parte dessa estrutura as classes. Grande parte do poder do CodeIgniter se dá devido a suas classes e o que se pode fazer com elas. Veja que classes são essas e um resumo sobre o que cada uma pode fazer.

Classes do CodeIgniter: apresentação e resumo

  • Benchmarking Class. A classe de benchmarking permite “marcar” pontos no código, fazer comparações sobre tempos de execução diferentes e até saber quanto de memória está sendo gasta para rodar a aplicação.
  • Calendar Class. Com esta classe é possível criar calendários dinâmicos. Criar o layout dos calendários e inserir dados dinâmicos é tarefa simples com esta classe.
  • Cart Class. A classe de carrinho de compras tem todo o básico que envolve processo de e-commerce: adicionar itens ao carrinho, atualizar, deletar, mostrar o preço, etc.
  • Config Class. Serve para mostrar as opções de configuração do CodeIgniter, tanto as default (/application/config/config.php), quanto as em arquivos personalizados.
  • Email Class. Como sugere o próprio nome, esta é para envio de e-mails. Com extrema facilidade é possível adicionar endereços, CC, CCO, anexar arquivos e muito mais.
  • Encryption Class. Se o problema é gerar strings encriptadas, então ele acabou. Com a classe de encriptação, as tarefas de encriptar, descriptar e correlacionados são bem mais simples.
  • File Uploading Class. Com uma vasta gama de opções, fazer upload no CodeIgniter é a uma das coisas mais fáceis quando se usa a classe para upload de arquivos.
  • Form Validation Class. Uma boa validação também deve ser feita no back-end; para tanto, o CI conta com muitas e diversificadas opções de validação para formulários.
  • FTP Class. Classe para fazer as operações FTP tradicionais, como transferências, mover arquivos, renomear, apagar, etc.
  • HTML Table Class. Classe que permite gerar tabelas dinâmicas a partir de resultados de arrays e/ou consultas a bancos de dados.
  • Image Manipulation Class. Uma das mais incríveis classes do CI, permite fazer alterações em images como redimensionar, rotacionar, criar miniaturas, inserir marcas d’água, dentre outros.
  • Input Class. Tem dupla finalidade: pré-processar dados de inputs (questões de segurança) e funções para manipulação/verificação de dados via input.
  • Javascript Class. Classe que, usando funções javascript, provê algumas funcionalidades e efeitos básicos do jQuery, como hide/show, fadeIn/fadeOut, animation e outros.
  • Loader Class. É a classe do CodeIgniter para carregar recursos diversos do framework, como libraries, views, helpers e models.
  • Language Class. Classe que tem por objteivo prover suporte a internationalization.
  • Output Class. Classe que, juntamente com recursos de cache, tem a finalidade de enviar a web page requerida completa.
  • Pagination Class. Classe muitos fácil de se usar que permite fazer paginações em quaisquer conjuntos de resultados (muitas opções inclusas).
  • Security Class. Como sugere o próprio nome, a Security Class provê funções para tratar da segurança da aplicação feita em CodeIgniter.
  • Session Class. Classe para manipulação de sessões com o CodeIgniter (não são as sessões nativas do PHP).
  • Trackback Class. Esta classe permite que se trabalhe com envio e recebimento de informações de trackback.
  • Template Parser Class. Permite utilizar pseudo-variáveis nas views, de modo a simplificar a separação HTML/PHP.
  • Typography Class. Esta classe provê funções para formatação de textos.
  • Unit Testing Class. Classe para se mexer com Unit Testing (conta com funções simples, mas possui várias opções).
  • URI Class. Essencial para se trabalhar com CI, esta classe serve para se trabalhar com informações contidas em URLs.
  • User Agent Class. Permite saber informações sobre o “agente” que acessa a aplicação web (browser, dispositivo mobile, robô de busca). Possui diversas opções interessantes.
  • XML-RPC Class. Como consta no nome, esta classe serve para tarefas envolvendo XML-RPC.
  • Zip Encoding Class. Permite tarefas com arquivos compactados (.zip), tais como criação, adição/deleção de arquivos e até disponibilizar arquivos para download (forçado ou não).

Classes do CodeIgniter: conclusão

Como se pode ver, existem dezenas de classes no CodeIgniter para prover funções e funcionalidades prontas, que são de fácil manipulação e têm simplicidade de uso (pelo menos, a maioria delas).

Com o advento do CodeIgniter 2, algumas novas classes foram inseridas e, certamente, com as futuras versões, muitas outras ainda serão e as atuais serão modificadas, sempre no intuito de melhorar/facilitar ainda mais seu uso e interações.

É o CodeIgniter, mais uma vez, mostrando que é o melhor framework PHP!

18 comentários em "Classes do CodeIgniter"

gravatar

Marcelo Diniz  em 15 de fevereiro de 2011

Muito bacana o post, principalmente para quem esta começando e pensando se o CI é um bom FW. Mostra muitas coisas que ja se tem com o CI e sim, muitas das classes são muito fáceis de se usar, as que eu não acho é que não usei ainda ou apanhei um pouco mesmo por não saber, mas depois é moleza.

gravatar

Adriano  em 16 de fevereiro de 2011

Alguem sabe me dizer como faço para integrar o CI com o eclipse, para mostrar o autocomplete, tinha bastante tutoriais na internet, só que com a mudança da versão, não funciona.

gravatar

Tárcio Zemel  em 17 de fevereiro de 2011

Exatamente, Marcelo, mas não se preocupe, pois ainda vamos abordar cada classe do CI aqui no blog e as dúvidas serão sanadas! ;-)

gravatar

Tárcio Zemel  em 17 de fevereiro de 2011

Eu, sinceramente, não uso o Eclipse, mas talvez este tutorial que achei no Google possa ajudar: "Getting full auto complete with CodeIgniter in Eclipse".

gravatar

Ramon Diego  em 17 de fevereiro de 2011

Otimo post mesmo, muito obrigado kra!
O blog esta me ajudando muito, pois estou começando no estágio e a empresa aqui usa o CI…
so por curiosidade, qual ide você usa Tárcio?
abraço!

gravatar

Tárcio Zemel  em 18 de fevereiro de 2011

Que bom que está sendo de valia, Ramon, continua acompanhando as novidades e, qualquer sugestão, por favor, diga.

Antes usava Aptana, mas eles pararam de dar suporte a PHP, então, ultimamente, tenho feito as coisas mais no estilo old school, usando apenas Notepad++.

gravatar

thor  em 18 de fevereiro de 2011

mto bom kra !! você devia dar uma palestra no proximo phpconference

gravatar

eduardo_godoy  em 18 de fevereiro de 2011

Eu também uso no estilo "Old School" com DreamWeaver

gravatar

Tárcio Zemel  em 21 de fevereiro de 2011

haha, quem sabe não rola um convite? ;-)

gravatar

Marco  em 10 de março de 2011

Tem informação pacas e útil no blog, pra mim só falta fazer uma aplicação "real" tipo
Site com back/front com o básico que é autenticação, editar conteúdo de um link e uma galeria de fotos com upload de multiplas fotos (porque limitar o envio tipo 3 inputs é complicado para quem pretende enviar 100 fotos hehehehe). Acho que com apenas esses dois recursos já dá entender o funcionamento perfeito utilizando bem os recursos do CI e ao longo do temo ir adicionando recursos neste sistema utilizando as classes, por exemplo um formulário de contato para adicionar a classe Email e por ai vai!

gravatar

Tárcio Zemel  em 16 de março de 2011

Que bom que está gostando, Marco! Comentários positivos dão estímulos para o trabalho continuar.

Calma que, brevemente, serão disponibilizados diversos "tutorial completos" no blog, inclusive abordando estes temas que você disse.

Abraços!

gravatar

Gerson  em 27 de junho de 2011

Bom dia!
Tenho um problema e gostaria de saber se alguém pode me ajudar.
Tenho a seguinte linha no meu controller dentro de uma função:
$dados['paginas'] = $this->pagination->create_links();

E chamo essa variável na minha view da seguinte forma:
echo $paginas;

Obs: Essa linha está na linha 13 do meu código.
O meu problema é que a aplicação me retorna o seguinte erro:
A PHP Error was encountered

Severity: Notice
Message: Undefined variable: paginas
Filename: views/produtos_home.php
Line Number: 13

O que estou fazendo de errado? Alquém pode me ajudar?
Desde já agradeço!

gravatar

Tárcio Zemel  em 27 de junho de 2011

Olá, Gerson!

Ainda não abordamos a classe de paginação, mas, de repente, pode ser que você se esqueceu de colocar o parâmetro de passar variáveis par a view na chamada. Dê uma conferida em nosso artigo sobre views no CodeIgniter e veja se é isso, mesmo.

Att

gravatar

Gerson  em 27 de junho de 2011

Olá, Tárcio, na verdade eu fiz assim para carrgar a view:
$this->load->view('nome_view', $dados);

Mas acredito que o problema esteja na view em si, pois está dando um erro de variável indefinida. A view não reconhece a variável 'paginas'. Dei uma olhada na página que você indicou, mas parece que está tudo OK com o meu código, no entanto o erro aparece.
Se, na view, eu declarar:
$paginas = 0;
echo $paginas;
O erro some, só que não me aparecem os índices de páginas.

gravatar

Tárcio Zemel  em 2 de agosto de 2011

Tem certeza que iniciou e configurou a paginação corretamente? Tente fazer um teste, dê um echo() direto nos links da paginação para ver se aparecem.

gravatar

Francis  em 12 de maio de 2012

O que mais me chama atenção são as classes Template Parser, Cart Zip Encoding.
Com certeza é um framework adendo a se trabalhar.
Eu venho do cakephp, você não faz idéia de quanto eu teria que codificar se quisesse criar classes como estas –'

gravatar

jota  em 8 de junho de 2014

OldSchool? Sei!

Comente!