Usando o Active Record do CodeIgniter

Quando comecei a utilizar o CodeIgniter não gostava muito do Active Record, preferia fazer minhas queries na mão mesmo, mas com o passar do tempo, passei a perceber a vantagem de se utilizar o Active Record.

Vou deixar um exemplo abaixo de um método get que eu uso em meus projetos

public function get($options = array()) {
        if (isset($options['select'])) {
            $this->db->select($options['select']);
        }
        if (isset($options['codigo_usuario'])) {
            $this->db->where('codigo_usuario', $options['codigo_usuario']);
        }
        if (isset($options['email'])) {
            $this->db->where('email', $options['email']);
        }
        if (isset($options['limit'])) {
            $this->db->limit($options['limit'][0], $options['limit'][1]);
        }
        if (isset($options['order_by'])) {
            $this->db->order_by($options['order_by']);
        }
        if (isset($options['group_by'])) {
            $this->db->group_by($options['group_by']);
        }
        if (isset($options['array'])) {

            return $this->db->get('usuario')->result_array();
        }

        return $this->db->get('usuario')->result();
    }

Este é apenas um exemplo do poder do Active Record, a facilidade para fazer diferentes tipos de “where” em meu código, setar um order by, um group_by
um limit, claro eu poderia fazer tudo isso com o query também, porém com muito mais código etc. Com o Active Record eu não preciso escapar campo por campo, pois o mesmo já faz isso para min.

E para atualizar, excluir e inserir dados no banco ? O Active Record é perfeito! Você pode inserir um objeto/array que seja igual a sua tabela com uma linha de código, ao invéz de fazer aquela query gigante de insert ou update!

$objUsuario = new stdClass();
$objUsuario->nome = 'William Rufino';
$objUsuario->email = 'contato@williamrufino.com.br';
$this->db->insert('usuario', $objUsuario);

Um update é muito simples também!

$objUsuario = new stdClass();
$objUsuario->codigo_usuario = 123;
$objUsuario->nome = 'William Rufino';
$objUsuario->email = 'contato@williamrufino.com.br';
$this->db->where('codigo_usuario',$objUsuario->codigo_usuario);
$this->db->update('usuario', $objUsuario);

Viram como é fácil utilizar o Active Record do CodeIgniter?

E para finalizar, deixo o link do user guide do Active Record que é seu melhor amigo na hora de fazer consultas.

CodeIgniter Reactor já está aberto!

CodeIgniter
CodeIgniter

A todos que estavam esperando o CodeIgniter Reactor, o mesmo já está disponível para a comunidade, através do bitbucket ainda não olhei bem o que está rolando, mas parece que a maioria até agora foi correção de bugs.

Os “Reactors Engineers” aconselham baixar e ler o user guide para ver o changelog.

E para os amantes do GIT foi criado um mirror no github para o mesmo.

Fonte: http://codeigniter.com/forums/viewthread/177924/

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

Dica para acessar um servidor SSH via console

Já precisou acessar seu servidor de uma lan house, ou da casa de um amigo onde não rolava fazer downloads? Pois é, eu por exemplo na faculdade não consigo acessar nada em ssh, mas descobri um site que faz isso via navegador com ajax e muito bem feito, o nome é consoleFish!

Para acessar basta entrar o ip/endereço e o nome de usuário! Muito útil para os momentos de urgência!
ConsoleFish

Criando um site com qualidade!

Hoje vou apresentar a Websites Inteligentes, uma equipe especializada em criação e desenvolvimento para web, focada em estética, usabilidade e funcionalidade. Desenvolvemos sites e sistemas limpos e funcionais. Nossos sites estarão prontos para os buscadores, ou seja serão achados com maior facílidade, pois serão construidos nos mais rigorosos padrões da atualidade.

Acesse nosso website e saiba mais sobre nossa equipe. Estaremos prontos para o seu projeto. Entre em contato agora mesmo e agende uma visita para.

Acesse também o nosso blog, onde você encontrará não somente novidades sobre nossos projetos como dicas e tutoriais sobre criação e desenvolvimento para web.

Siga agente no twitter @wsinteligentes e fique por dentro do que rola na rede mundial.

Curta também nossa página no facebook e indique para seus amigos.

Equipe Websites Inteligentes
Criação de sites BH

Atualizando o Ubuntu para 10.10

Como atualizar seu linux Ubuntu da versão 10.04 para a versão 10.10

Para atualizar o seu Ubuntu é muito fácil, primeiro faça backup de todos seus arquivos(recomendado sempre que for mecher em algo crítico do sistema claro) e após isso basta digitar o comando abaixo no terminal do linux.

“update-manager -d”

O resto será todo automático, e lembrando pode demorar um pouco então basta ter paciência que o sistema faz o resto.

Ou você pode entrar no site do ubuntu e fazer download da ISO e gravar em um DVD ou usar um pen drive. Fica a sua escolha.
O site para download é http://www.ubuntu.com

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

Javascript – Calculando Datas

Neste post irei falar sobre cálculo de datas utilizando javascript.
O javascript tem um objeto Date que é muito fácil de se trabalhar, basta instancia-lo da seguinte forma:

var data = new Date(ano, mes, dia)

Lembrando que o mês deve ser um Inteiro de 0 a 11 (Janeiro a Dezembro).