/** * Formata um dado de acordo com o tipo e a máscara definido * que será apresentado para o usuário * * @param string $value * @param string $format * @param string $locale * @return string */ public function format($value, $format = null, $locale = null) { if ($format === null) { $format = $this->_mask; } if (!is_object($this->_mapper)) { if ($this->_mapper != '') { $this->_mapper = new $this->_mapper(); } } if (is_object($this->_mapper)) { $columnName = substr($this->_index, strpos($this->_index, '.') + 1); return $this->_mapper->format($value, $columnName, $format, $locale); } else { $type = $this->getType(); if ($type == 'Number' || $type == 'Numeric' || $type == 'Integer') { return ZendT_Type_Number::fromIso($value, $locale)->get($format); } else { if ($type == 'Date' || $type == 'DateTime') { if ($format == '' || $format === null) { if ($type == 'Date') { $format = 'dd/MM/YYYY'; } else { $format = 'dd/MM/YYYY HH:mm:s'; } } return ZendT_Type_Date::fromIso($value, $locale)->get($format); } else { if ($this->_mask) { return ZendT_Format::string($value, $this->_mask); } else { return $value; } } } } }