2011-08-22 19 views

Respuesta

8

que va en contra de la idea de constantes de clase - que no debe ser dependiente de una instancia específica. Deberías usar una variable en su lugar.

Sin embargo, si insiste en hacer esto, es muy aventurero y puede instalar extensiones PHP, puede echar un vistazo a la extensión runkit que permite modificar clases y sus constantes en tiempo de ejecución. Ver este documento: http://www.php.net/manual/en/function.runkit-constant-add.php

+0

que estaba buscando php equivalente a 'final' estática de Java que se puede establecer en el constructor, pero por desgracia, en constantes PHP son un poco diferentes. –

+0

También va en contra de la idea de las constantes en general, sin embargo, en PHP puede definir() una constante de forma dinámica. –

+0

Esto puede ser útil cuando se quiere definir las constantes de cadena cuyos valores se componen del valor de otras constantes (para secar las partes comunes). Como PHP no permite expresiones (como la concatenación de dos cadenas) en valores constantes, hubiera sido útil hacerlo en el constructor. –

3

no creo que pueda.

No tendría sentido, ya sea - una constante de clase se puede utilizar en un contexto estático, donde no hay ningún constructor en el primer lugar.

Vas a tener que utilizar una variable en lugar - que es lo que están allí para.

Cuestiones relacionadas