Skip to content

Latest commit

 

History

History
executable file
·
55 lines (32 loc) · 1.96 KB

README.textile

File metadata and controls

executable file
·
55 lines (32 loc) · 1.96 KB

CakePHP Locale

Este plugin permite que usuários de seu sistema visualizem e insiram
dados em formatos locais/regionais ao mesmo tempo que garante a consistência
dos dados convertendo-o para um formato aceito pelo banco de dados escolhido.

Autor e Copyright

  • Copyright 2009-2012, Radig – Soluções em TI
  • Licença MIT – Isto quer dizer que o código está disponível sem nenhuma garantia, ao mesmo tempo que
    você pode usa-lo de forma isolada ou em conjunto com seu próprio código.

Observações

  • Este behavior requer PHP versão >= 5.2.4
  • Compatível com o CakePHP 1.3
  • Consulte os testes incluído no plugin para ver melhor seu funcionamento

Como usar

  • A única configuração necessária é ter definido o locale da sua aplicação. Caso não tenha feito isso, basta utilizar a função setlocale
setlocale(LC_ALL, 'pt_BR.utf-8', 'pt_BR', 'pt-br');

Utilizando o Behavior

  • Basta definir, no model que deseja ativa-lo, a seguinte linha:
$actsAs = array('Locale.Locale');
  • A partir daí o behavior vai converter seus dados antes da validação e antes de salvar.

Utilizando o Helper

  • Nos controladores de interesse, adicione o helper Locale.Locale, deixando similar a linha abaixo:
$helpers = array('Locale.Locale');
  • Agora nas views de seu controlador, você pode chamar o helper, como abaixo:
echo $this->Locale->dateTime('2010-08-26');

Além do Behavior e Helper…

Agora você também pode trabalhar com a normalização de desnormalização de dados em diferentes contextos
de sua aplicação (como em Shells), bastando para isso carregar as libs Localize e Unlocalize, de acordo
com suas necessidades.

App::import('Lib', 'Locale.Localize');

Elas são todas estáticas, então você deve usa-las sem se preocupar com instâncias:

$localizada = Localize::date('2012-04-16');

Desta forma, a variável $localizada armazenará “16/04/2012” caso seu locale esteja definido para pt_BR