Veja! 40 Tutoriais para construir ótimos aplicativos em CodeIgniter

Pra compensar um pouco a falta de posts no blog, desta vez irei apenas repassar um link com 40 tutoriais para criar aplicativos em CodeIgniter!

40 Tutoriais CodeIgniter

O motivo da falta de posts na verdade é a falta de tempo (leia-se World of Warcraft)! Fim de ano é uma correria danada, mas em breve mais posts!

O futuro do CodeIgniter

CodeIgniter

No último mês, muito se falou sobre o abandono do CodeIgniter por parte da EllisLab, empresa mantedora do CodeIgniter que o usa em seus 2 principais produtos, O CMS ExpressionEngine, e o MojoMotor. Estava-se falando que a mesma só pensava nos produtos dela e não estava nem ai pra comunidade, e realmente parece verdade.

O CodeIgniter não recebe uma boa atualização a tempos, ainda está faltando coisas básicas que encontramos em outros frameworks, como integração nativa a testes unitários, ORM, ACL, e etc.

Realmente, o CI pode não ser o mais robusto, mais completo dos frameworks, porém é leve, rápido e possui uma ótima comunidade. A EllisLab sabendo disso logo agiu, resolveu então criar o CodeIgniter Reactor, um branch do CI mantido por 6 “CodeIgniter Engineers” como eles estão chamando estes branches da comunidade, esses “CodeIgniter Engineers” serão responsáveis por atender a comunidade e fazer as mudanças que acharem necessárias para o CodeIgniter se manter vivo e atualizado, enquanto o branch oficial continuará sendo mantido pela EllisLab porém com menos frequência e mais testes, pois o mesmo é usado pelos seus produtos.

Mas a pergunta que fica é afinal, isto é bom ou ruim?
Ao meu ver, isso é muito bom pois esses “CodeIgniter Engineers” não só contribuirão com o código do CodeIgniter como irão verificar códigos da comunidade, inclusive já estão planejando um clone para o GIT para que as pessoas que não conhecem/gostam do mercury poderem contribuir para o CI.

Eu mesmo penso em usar o “CodeIgniter Reactor” que eu acredito que será atualizado mais frequentemente, e mais utilizado o que acarretará em mais recursos e correção de bugs. Porém os proprios “CodeIgniter Engineers” já avisaram que não irão fazer coisas mirabolantes, como implantar um ORM de cara ou algo do tipo, eles irão seguir a tendência, pois o CodeIgniter já é famoso pelo fato de se você precisa de algo é so instalar, ou seja, não tem ORM? Utilize o Datamapper ou o Doctrine, não tem Unit Testing? É fácil implementar o PHPUnit ou algo do tipo.

Além disso a própria EllisLab já tomou algumas decisões em relação ao CI 2.0 por exemplo, o suporte ao PHP4 finalmente foi totalmente excluído, agora os controllers e models são extendidos pela seguintes classes, CI_Controller e CI_Model, todos construtores de classes foram renomeados para __construct, seguindo o padrão do PHP5.

Conclusão

Acredito que com o CodeIgniter Reactor, o CodeIgniter só tem a ganhar! Só espero que os Engineer’s como estão sendo chamados levem com seriedade essa estória de serem os responsáveis pela comunidade, pois eles terão grande parte no futuro direto e indireto do CodeIgniter, enquanto a EllisLab deverá atualizar somente o que for necessário para seus produtos, o Reactor deverá receber o que é necessário para comunidade, independente de um produto ou não.

Mais informações: http://codeigniter.com/news/codeigniter_in_2011_reactor_core_uservoice/
http://philsturgeon.co.uk/blog/2010/12/ellislab-react-with-codeigniter-reactor

Criando um formulário de contato com o CodeIgniter

Este será um exemplo básico de um formulário de contato.
Enviar email com o codeigniter é realmente muito fácil, basta utilizar a library email.
Iremos trabalhar com 3 arquivos somente,
Um view (contato.php) um controller(contato.php) e um arquivo de config (email.php).

Deveremos criar eles na estrutura abaixo dentro de sua pasta application:
controllers/contato.php
config/email.php
views/contato.php

CodeIgniter – removendo o index.php e removendo o www da url. (url canonica)

Boa tarde a todos!

Dessa vez irei falar sobre remover o arquivo index.php de nossa aplicação no CodeIgniter, e também fixar o nosso domínio para um só! Ou seja uma tática SEO para não ficar com múltiplas URLS.

Primeiro vamos falar para o nosso CodeIgniter que a página index.php não deve mais existir! para isso devemos editar o arquivo config.php dentro da nossa pasta application.
Muito fácil, basta remover o conteudo da varíavel $config[‘index_page’] ficando igual o código abaixo.

/*
      |--------------------------------------------------------------------------
      | Index File
      |--------------------------------------------------------------------------
      |
      | Typically this will be your index.php file, unless you've renamed it to
      | something else. If you are using mod_rewrite to remove the page set this
      | variable so that it is blank.
      |
     */
    $config['index_page'] = "";

Agora vamos criar o nosso arquivo .htaccess

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

#Remove o acesso a pasta system
RewriteCond %{REQUEST_URI} ^system.*

#Redireciona /index.php/nomedocontroller/ to /nomedocontroller/função/
RewriteRule ^(.*)$ index.php/$1 [L]

#se o arquivo não existir (um css ou javascript por exemplo)
#ele redireciona para o index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

#aqui fazemos o redirecionamento 301 de uma url.com.br para www.url.com.br
RewriteCond %{HTTP_HOST} ^(seusite\.com\.br)(:80)? [NC]
RewriteRule ^(.*) http://www.seusite.com.br/$1 [R=301,L]
</IfModule>
<IfModule !mod_rewrite.c>
#caso o mod_rewrite não esteja habilitado ele redireciona todo erro 404
#para o index.php ainda funcionando
ErrorDocument 404 /index.php
</IfModule>

Pronto!
Agora você terá sua URL mais amigável e alem de tudo otimizada para os buscadores!

Para veríficar um exemplo:
acesse meu site assim: http://williamrufino.com.br e você será redirecionado para http://williamrufino.com.br
Fonte: http://codeigniter.com/
www.mestreseo.com.br

Como escrever um model melhor no CodeIgniter

Este post é uma tradução.
Link para o artigo original: http://shawnmccool.com/2009/08/28/how-to-write-a-better-model-in-code-igniter/

Desenvolver utilizando um framework MVC pode ajudar e muito para aumentar a reutilização e robustez do seu código. Neste artigo eu me concentro em métodos de escrita de models para o CodeIgniter Os conceitos em si não são específicos para o Code Igniter, mas parte do código será.

Métodos CRUD

CRUD é a sigla para Create, Retrieve, Update, and Delete. Ou seja criar, pegar, atualizar e apagar. Estes são os tipos mais básicos de interação que sua aplicação terá com o banco de dados.

Iniciando com o CodeIgniter

Para iniciar o blog, vou comentar a instalação do CodeIgniter framework PHP que venho utilizando para os projetos mais recentes.

Primeiro você deve fazer o download da versão mais recente do framework em: http://codeigniter.com/download.php Após o download descompacte, e coloque o conteúdo na pasta do seu aplicativo.