Pessoal,
O pessoal do CakePHP, mais especificamente o Mariano Iglesias, anunciou dia 13/05/2008 no Bakery que em breve estariam disponibilizando uma nova release, mas dessa vez para o CakePHP 1.2!
No anúncio, pede a todos “padeiros” (nós) para relatarmos bugs para que possam ser corrigidos antes de finalizar a versão. Não estão sendo aceitos pedido de melhoramento (enhancement) para a versão 1.2, mas para a 2.0 será bem vindo. Quem tiver novas idéias ou encontrou algum bug, relate através do Trac.
E neste clima de novidades, foi publicada uma nova versão da API do CakePHP 1.2, cuja versão é 1.2.0.7008. Quem quiser acessar, basta entrar no link http://api.cakephp.org/.
Abraços e vamos ficar na espera desta release tão aguardada por muitos!
Bem, todo mundo já deve ter notado o quanto o CakePHP usa de arrays. Muitas vezes, parece que são complicados e difíceis de manipula-los, mas muita gente desconhece do classe Set. Ela vem junto com as libs do CakePHP (assim como HttpSocket, Socket, Router, File e muitas outras).
Os métodos dessa classe ajudam a manipular os arrays de forma fácil e simples. Vamos a um exemplo: Imagine que você tenha consultado um banco de dados, com find(‘all’) ou findAll() e que queira uma lista só com o nome de cada registro. O que você faria?
1
2
3
4
5
| // Supondo que $dados é o resultado do find('all')
$nomes = array();
foreach ($dados as $registros) {
$nomes[] = $registros['Tabela']['nome'];
} |
Bem, parece simples, não? E que tal fazermos assim:
1
| $nomes = Set::extract($dados, '{n}.Tabela.nome'); |
Muito mais simples. Tem a mesma função e deixa o código mais limpo. O {n} significa um número (ou posição no array), pois cada registro possui um número no retorno.
Além do método extract, há outros métodos para se trabalhar, tais como:
1
2
3
4
5
| // Ordena todos os dados pelo campo 'nome' da tabela 'Tabela'
$nomes = Set::sort($dados, '{n}.Tabela.nome', 'asc');
// Cria um array com o indíce sendo o nome do Usuário e o valor o total de Compras
$nomeCompras = Set::combine($dados, '{n}.Usuario.nome', '{n}.Compras.total'); |
Bem, estes são os principais métodos para você usar no seu dia-a-dia com Cake. Você vai ver que vão lhe poupar um bom tempo e deixar seu código mais agradável. Mais informações sobre os outros métodos, você pode ver na API do Set.