Array
(
)

Classe de constantes

Rafaelmenescal
   - 16 fev 2009

Tenho um projeto com várias namespaces e classes dentro. Diversas classes utilizam constantes. Gostaria de criar uma classe de constantes que pudessem ser utilizadas por várias classes.
Não sei se é possível fazer isso, portanto aceitaria uma alternativa similar. Não achei informações sobre isso, provavelmente, não soube procurar direito devido ao desconhecimento dos jargões da linguagem.
Grato pela atenção, Rafael.

Codename.v
   - 19 fev 2009

Basta que você crie a classe e coloque as constantes dentro dela declaradas como public ou protected etc. De acordo com as necessidades do seu sistema.

Se essas constantes são frequentemente utilizadas você pode coloca-las dentro de uma classe static para não precisar ficar criando novas instâncias o tempo todo.

Uma pergunta: ´Essas constantes estão sendo utilizadas para que em seu sistema?´

Codename.v
   - 19 fev 2009

Basta que você crie a classe e coloque as constantes dentro dela declaradas como public ou protected etc. De acordo com as necessidades do seu sistema.

Se essas constantes são frequentemente utilizadas você pode coloca-las dentro de uma classe static para não precisar ficar criando novas instâncias o tempo todo.

Uma pergunta: ´Essas constantes estão sendo utilizadas para que em seu sistema?´

Rafaelmenescal
   - 19 fev 2009

Fiz o que sugeriu e funcionou perfeitamente. Criei uma classe só com as funções (com o modificador de acesso public) e adiciono o namespace nas classes em que vou utilizá-las. Estava pensando em fazer isso mesmo, mas estava com receio de fazer besteira. Muito obrigado.

P.S. Respondendo a sua pergunta, eu estava utilizando-as para verificar status (tenho uma tabela com os status, mas eles mudam) de uma determinada coisa. Não queria ficar fazendo ´if objeto.status == 10´.
´if objeto.status == CONSTANTE´ fica bem melhor.

Codename.v
   - 23 fev 2009

Pelo que entendi, acho que seria uma boa se você utiliza-se enumerators. Aqui tem um artigo com alguns exemplos praticos: http://www.linhadecodigo.com.br/Artigo.aspx?id=1767