CakePHP Brasil

8 setembro 2012

Fim do MeioUpload

Filed under: CakePHP — Tags:, , , — Juan Basso @ 5:48 pm

Por várias razões estou descontinuando a manutenção do plugin MeioUpload para CakePHP.

Dentre os principais motivos é que o código é bem antigo e é muito difícil de fazer melhorias sem quebrar a compatibilidade com as atuais instalações. Algumas alterações são até viáveis, mas o código não tem testes unitários, o que consumiria muito tempo para fazê-los. Se alguém acompanha o projeto já deve ter percebido isso a algum tempo.

Não irei apagar o repositório para evitar maiores problemas, mas não vou fazer mais alterações ou merge de pull requests ou corrigir bugs.

Como alternativa, recomendo utilizarem o plugin Upload do Jose Gonzalez. O plugin dele é baseado no MeioUpload, contém quase todos recursos presentes no MeioUpload e outros. Além disso, Jose está mantendo o projeto muito bem, corrigindo problemas e ajudando a comunidade.

Obrigado a todos que ajudaram e usaram o MeioUpload e desculpe qualquer inconveniente.

6 setembro 2011

CakeFest 2011

Filed under: CakePHP — Tags: — Juan Basso @ 12:25 am

Infelizmente não informei sobre o evento antes, mas agora não custa falar um pouco sobre o ele. Ele aconteceu neste final de semana na Inglaterra e contou com a participação de vários bakers. Não pude comparecer, mas acompanhei pelo twitter as notícias e segue aqui a lista das apresentações (em inglês, claro):

Acredito que as apresentações estarão disponíveis no http://tv.cakephp.org em breve.

29 setembro 2010

Iniciando o desenvolvimento com CakePHP

Filed under: CakePHP — Tags:, — Juan Basso @ 2:04 pm

Pessoal,

Pra quem está iniciando o desenvolvimento com CakePHP e não tem paciencia pra ficar lendo trocentas páginas de documentação do CakePHP, uma parte ainda em inglês, o grande Wesley Klewerton (@wesleyklewerton) fez um tutorial excelente e vale muito a pena a leitura.

Eu li e achei excelente, bem resumido e direto ao ponto. Quem está começando não vai perder muito tempo entendendo a magia e a arquitetura por baixo dos panos, vai por a mão na massa e depois, com calma poderá entender como o mundo maravilhoso do Cake é…

Post do Wesley com o tutorial: Iniciando o desenvolvimento web com CakePHP

28 julho 2010

Nova estrutura de diretório no CakePHP 2.0

Filed under: CakePHP — Tags: — Juan Basso @ 10:05 pm

O CakePHP, além dos novos recursos e alterações que está sofrendo, terá sua estrutura de diretórios alterada. Esta alteração vem da adoção de um padrão criado pelo grupo PHP Standards Working Group.

O padrão é usado em alguns frameworks e CMS. Para quem quiser ver as regras pode consulta o site http://groups.google.com/group/php-standards/web/psr-0-final-proposal.

No CakePHP ainda está em fase de estudos e adequações, as últimas decisões sobre o assunto pode ser conferida na página 2.0 – PHP standards group file naming na LightHouseApp. As alterações no código devem começar em breve nos branches da release 2.0.

Essa alteração certamente vai preocupar muita gente na hora de migrar o código, mas acredito ser inevitável para melhorar a padronização e a performance do framework. Com as alterações existentes hoje a melhora de performance já foi bem significativa, em alguns casos passando de 30%.

Bem, vamos esperar para ver o que vem por aí, mas podem ter certeza que coisa boa é. :)

16 julho 2010

Virando a página – Cake 2.0

Filed under: CakePHP — Juan Basso @ 7:44 pm

Agora que o CakePHP 2.0 já está um pouco mais maduro, vou comentar um pouco sobre a nova versão, daqui pra frente pretendo publicar alguns posts mais detalhado de cada novo recurso, por enquanto vamos numa visão mais macro.

Pra começo de conversa, pra quem não sabe o CakePHP 2.0 é a versão que está em desenvolvimento pelo time do cake. As versões 1.2 e 1.3 são versões estáveis e que daqui para frente só terão correções de bugs, nada de recurso novo. Não há em vista uma versão 1.4 (que seriam novos recursos com compatibilidade pro PHP4).

A versão 2.0 tem como requisito PHP 5.2 em diante. Por este fato, trará muitos recursos novos e facilidades no desenvolvimento das aplicações. Além disso, a versão poderá otimizar muitos itens, tornando a sua aplicação mais rápida ainda.

Alguns itens previstos pro Cake 2.0:

  • Fim da compatibilidade com PHP 4
  • Lazy load para models, helpers e componentes (Não sabe o que é? Eu explico eu outro post)
  • Remover a “mágica” que mudava os textos, adotando o “What you type is what you get” (ou “O que você escrever é o que você verá”).
  • Ajustes do código para utilizar classes Spl, interfaces, abstracts, etc. e corrigir a visibilidade dos métodos (public/private/protected)
  • As buscas retornarão objetos e não mais arrays, facilitando ações e aumentando a performance
  • Helpers, Behaviors e Components poderão ter aliases, ou seja, você poderá fazer seu próprio HtmlHelper e dizer que o helper Html será o seu customizado

Gostou? Essa era só uma palinha sobre o que vem por aí. Em breve mais comentários e detalhes sobre o funcionamento destes itens.

4 junho 2010

AjusteFloat e outras novidades no CakePtbr

Filed under: CakePHP — Juan Basso @ 7:59 pm

Pessoal,

Venho aqui anunciar que o projeto CakePtbr sofreu algumas alterações. A primeira foi a inclusão do behavior AjusteFloat criado pelo Zé Ricardo (Obrigado, Zé!), com alguns complementos meus (docs, formatação e testes). Este behavior está disponível para o CakePHP 1.2 e 1.3.

Em segundo lugar, como a release 1.3 do CakePHP está estável, movi o conteúdo do master (que referia-se ao CakePHP 1.2) para o branch 1.2 e transformei o branch 1.3 em master. Daqui pra frente as melhorias serão feitas aqui e o branch 1.2 conterá apenas correções de bug.

Abraços e bom uso. :)

11 maio 2010

CakeFest 2010

Filed under: CakePHP — Juan Basso @ 6:09 pm

Opa!

Como muitos já devem saber, todo ano acontece um encontro entre desenvolvedores, usuários, apreciadores, gente nova e de tudo que é tipo e lugar num evento chamada CakeFest.

Este ano a CakeFest acontecerá nos EUA (já aconteceu na Argentina, Alemanha, Japão, … Cada ano em um país) e neste momento está convidando as pessoas/empresas para participarem como palestrantes ou patrocinadores. As palestras devem ser em inglês e relacionadas ao CakePHP (meio óbvio :P ).

Quem tiver interesse, pode entrar no site oficial da festa e entrar em contato para maiores detalhes: http://cakefest.org/

Os patrocínios podem ser de qualquer quantia. O pessoal lá tem um prospecto explicando tudo, basta pedir as informações. Se você trabalha numa empresa que usa o CakePHP, peça ao seu chefe (ou se você for o chefe) para ajudar a quem ajuda vocês. Com isso estarão promovendo e melhorando ainda mais este maravilhoso framework de desenvolvimento.

A propósito, quem já está se programando para ir para lá? Eu estou pensando seriamente em ir (dinheiro?! sei lá da onde vou tirar).

27 abril 2010

Behavior Super Find veio ao mundo

Filed under: CakePHP — Tags: — Juan Basso @ 6:49 pm

Depois de ter criado o post sobre o Behavior para melhorar o find, cá está ele! Ontem a noite criei o projeto e enviei o código que tenho para o GitHub, no projeto entitulado de super_find.

Tinha dito que o nome seria power find, mas depois de ver alguns projetos na internet como o SuperAuth, SuperValidatable, etc., resolvi manter o nome de SuperFind.

Bem, vamos ao que interessa, o que faz e como funciona… Basicamente, ele serve para fazer um find podendo colocar condições de relacionamentos hasMany e HABTM. No CakePHP puro isto não é possível, pois ele joga estas condições na query direto e acaba causando um erro de SQL. Aí você dizer, mas e o Containable?! Bem, ele até faz alguns filtros, mas o filtro que ele faz é em cima do valor retornado da consulta principal. Vamos a um exemplo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
$this->Usuario->find('all', array('contain' => array('Tarefa.nome = "Tarefa 1")));
/* Retorno:
    array(
        array(
            'Usuario' => array('id' => 1, 'nome' => 'Usuario 1'),
            'Tarefa' => array(
                array('id' => 1, 'nome' => 'Task 1', 'usuario_id' => 1)
            )
        ),
        array(
            'Usuario' => array('id' => 2, 'nome' => 'Usuario 2'),
            'Tarefa' => array(
            )
        ),
        array(
            'Usuario' => array('id' => 3, 'nome' => 'Usuario 3'),
            'Tarefa' => array(
            )
        ),
    )
*/
 
$this->Usuario->superFind('all', array('conditions' => array('Tarefa.nome' => 'Tarefa 1')));
/* Retorna:
    array(
        array(
            'Usuario' => array('id' => 1, 'nome' => 'Usuario 1'),
            'Tarefa' => array(
                array('id' => 1, 'nome' => 'Tarefa 1', 'usuario_id' => 1)
            )
        )
    )
*/

Em resumo, no Containable ele listou todos os usuários e no relacionamento Tarefa veio apenas os que tinham a ‘Tarefa 1′. Já no SuperFind ele mostrou apenas os usuários que tinham a ‘Tarefa 1′.

O mesmo funciona com relacionamentos HABTM. Para os relacionamentos hasOne e belongsTo não são necessários, pois isto já funciona nativamente.

Por enquanto é possível fazer isto apenas com um nível de filtro, ou seja, você não poderá colocar nas condições algo como Tarefa.Projeto.nome.

Bem, por enquanto é isso. Alguém tem mais sugestões do que poderia entrar? O que sente falta no find?

Abraços e bom uso.

23 abril 2010

Nova release do CakePHP

Filed under: CakePHP — Tags: — Juan Basso @ 8:22 am

Hoje foi liberada a release 1.2.7 do CakePHP, corrigindo 36 bugs, sendo um uma questão de segurança.

Uma pequena correção de segurança também foi feita nesta versão. Este problema de segurança afeta apenas os sistemas que utilizam o modo debug em produção. Caso deseja apenas corrigir o problema de segurança, sem atualizar o core inteiro, você pode aplicar o patch disponibilzado por eles em http://bin.cakephp.org/view/1459556460.

A nova versão (1.2.7) está disponível no GitHub. A lista completa das alterações pode ser vista no Changelog.

Lembro também que está previsto para domingo o lançamento da versão 1.3.0-RC5! Vamos aguardar pra ver.

22 abril 2010

Behavior para melhorar o find

Filed under: CakePHP — Tags: — Juan Basso @ 7:14 pm

Hola!

Estava aqui implementando alguns projetos e vi o quão chato é ter que implementar os models no cake sempre pensando nas queries que ele irá gerar.

As vezes vou fazer um find em models que tenham hasMany e quero fazer um filtro pelo model do hasMany e não consigo. Se eu coloco no conditions ele diz que a tabela do hasMany não existe. Se eu uso Containable ele mostra todos os registros do model que fiz o find com alguns tendo associações vazias. Ou seja, ele não faz JOIN com as tabelas hasMany nesses casos, sempre gerar queries diferentes e não sabe tratar direito.

Pensei em implementar isto no core do cake e propor para eles, mas a release 1.3 está fechada para enhancements, então ficaria para a versão 1.4/2.0 que sabe-se lá quando vem… Pensei então em um plugin para implementar isto, mas aí entra meu maior problema em computação: qual o nome?! :P

Alguém tem alguma sugestão? Como será um projeto a nível internacional, pensei em “SuperFind”, “FindPlusPlus”, “xFind”… Alguém tem alguma melhor?

No começo será mais para melhorar os relacionamentos de joins e afins, mas futuramente trabalhar melhor um pouco os casos de limit nos relacionamentos e outras coisitas a mais do find.

Older Posts »

Powered by WordPress