Yii Framework Forum: formatDecimal - Erro de _locale - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

formatDecimal - Erro de _locale Rate Topic: -----

#1 User is offline   Renato 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 7
  • Joined: 23-November 09

Posted 23 November 2009 - 12:53 PM

Estou tentando usar a função formatDecimal em uma View e recebo a seguinte Mensagem:
Property "PagamentoController._locale" is not defined.

Estou fazendo a chamada da seguinte forma:
echo CNumberFormatter::formatDecimal(10.99);

Não acredito que eu tenha que criar um metodo publico dentro de cada controle chamdo locale. Alguém sabe onde estou errando?

Obrigado
0

#2 User is offline   Daniel Augusto Bastos 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 347
  • Joined: 25-May 09
  • Location:Rio de Janeiro - Brasil

Posted 23 November 2009 - 01:26 PM

<?php
  $cnf = new CNumberFormatter(Yii::app()->getLocale());
  echo $cnf->formatDecimal(10.99);
?>



formatDecimal não é um método de classe, mas sim um método comum, por isso deve-se instanciar CNumberFormatter. O que acho que no PHP isso deveria ser considerado um bug e gerado um exception. (Mas ninguem me escuta. hahaha)


É requerido uma instância do objeto CLocale para instanciar CNumberFormatter, que pode ser obtida a configurada na sua aplicação, usando Yii::app()->getLocale()
Editado (Enviei incompleto, foi mal)


Quando vc usa um método comum como método de classe, a partir de uma segunda classe, o PHP considera este método como pertencente a primeira classe. Sendo a view parte do controller, ele requer uma variável chamada "_locale" no seu controller.


This post has been edited by Daniel A. Bastos: 23 November 2009 - 01:29 PM

Every solution creates a problem.
twitter.com/nenhumnick
2

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users