quinta-feira, 17 de março de 2011

Formatando todos os "created' e "modified" no AppModel (CakePHP)

Cansado de utilizar o helper "Time" para formatar sempre os mesmos dois campos todas as vezes que eles apareciam nas views, decidi pesquisar se havia alguma forma de realizar a formação do datetime no model...


Utilizando o Metodo de CallBack "afterFind"... Interessante... mas o mesmo deveria ser feito para todos os Models... logo a minha preguiça extrema não me deixou ficar feliz com isso...

Pensei mais um pouco e acabei optando por implementar o codigo no AppModel, fazendo com que todos os models que o estendessem, sofressem a formatação automaticamente. O melhor de tudo, é que como eu compartilho o Core do CakePHP para varias aplicações, nunca mais vou precisar formatar a data desses dois campos...


Dica boba... mas ajuda bastante...

See you!

6 comentários:

Sony Santos disse...

Muito legal!

Estou me sentindo mais ou menos assim com o Ruby.

Se você quiser alterar um comportamento que afete todos os objetos (ou todos os descendentes de uma classe-pai comum), basta alterar a classe Object (ou a classe-pai comum). Isso é muito interessante! :)

Sucesso!

Rodrigo de Souza disse...

Provavelmente você já saiba disso..

O CakePHP é baseado no Rails... nunca o estudei.. mas imagino que sejam parecidos realmente...

Sucesso pra vc tb!

hurry disse...

E ai tudo bem, estou fazendo alguns exercicios no cake pra ve se pego o jeito dele gosto muito dele, só que aprendo tudo sozinho, mas tem horas que o tio Google não resolve.
Bem eu usei seu script no appModdel e funcionou perfeitamente para create e modified que são tipo datetime, só que tenho um campo tipo date que não alterou ficou y-m-d, só to passando pra tu da uma analisada, e vou mudar o campo pra datetime pra ve se altera aqui .
Valeu Abraço t+.

Rodrigo de Souza disse...
Este comentário foi removido pelo autor.
Rodrigo de Souza disse...

cadê o exemplo?!

Anderson Possamai disse...

Olá amigo!
Estive procurando algo semelhante, e acabei encontrando seu site.
Fiz o Teste no Cake 2.3.3 e funcionou certinhO!

Muito obrigado pela dica! ;)