Deprecated: mysql_escape_string(): This function is deprecated; use mysql_real_escape_string() instead. in /home/hufersil/hufersil.com.br/system/libraries/lumine/lib/Connection/MySQL.php on line 516
HUFERSIL WEBDEVELOPER - Formatadores

HUFERSIL.WEBDEVELOPER - Solu√ß√Ķes com qualidade - Hugo Ferreira da Silva

Formatadores S√°b, 02 de fevereiro de 2008 - as 15h59

Nesta versão, Lumine permite que você aplique formatadores para os campos de sua entidade, antes de recuperar seu valor.

Supondo que você deseje recuperar o valor de um campo no tipo date formatado quando fizer:

  1. // por padr√£o, ir√° aparecer yyyy-mm-dd
  2. echo $obj->data_cadastro;

Lumine permite que você adicione um formatador a este campo para que a data apareça, por exemplo, no formato brasileiro (dd/mm/aaaa). Dessa forma, você não precisará sempre formatar o campo.

Existem 3 maneiras de aplicar formatadores: format, formatter e addFormatter.

format

Permite que você aplique um formato simples a seu campo, utilizando a função sprintf para campos do tipo string, int, float, e a função strftime, para campos date, time e datetime. Este formatador deve ser colocado no mapeamento do membro, e sempre formatará o campo independente da configuração de use_formatter_as_default.

  1. $this->_addField('membro', 'coluna', 'date', null, array('format' => '%d/%m/%Y'));

formatter

Funciona de forma muito semelhante ao seu anterior, porém permite que você aplique uma função ou método de classe personalizado a seu membro:

  1. $this->_addField('membro', 'coluna', 'date', null, array('formatter' => 'ajusta_data'));

Você ainda pode aplicar um método de uma classe, caso deseje:

  1. $this->_addField('membro', 'coluna', 'date', null, array('formatter' => array('ClasseUtil', 'ajusta_data')));

O método será chamado de forma estática.

addFormatter
public function addFormatter( $member, $formatter )

Permite a você adicionar formatadores após sua classe ser instanciada, assim, você será capaz também de recuperar o valor real de seu campo. O padrão de retorno pode ser definido através da opção use_formatter_as_default em seu arquivo de configuração.

  1. $obj->addFormatter('data_cadastro', 'ajusta_data');

Você ainda pode utilizar o método de uma classe:

  1. $obj->addFormatter('data_cadastro', array($classeInstanciada, 'ajusta_data'));

Ou ainda chamar de forma estática

  1. $obj->addFormatter('data_cadastro', array('ClasseUtil', 'ajusta_data'));