La respuesta es un simple "no". PHP no es compatible con este concepto. Lo mejor que puede hacer es una variable private static
en la clase, que no es tan buena, por supuesto, porque no es de solo lectura. Pero solo tienes que evitarlo.
Edición
Su pregunta me hizo pensar - esto es algo que nunca he intentado, pero podría funcionar. Dicho de otra manera, "esto no se ha probado". Pero dijo que quería una "constante privada" llamada FOO
:
// "Constant" definitions
private function __get($constName){
// Null for non-defined "constants"
$val = null;
switch($constName){
case 'FOO':
$val = 'MY CONSTANT UNCHANGEABLE VALUE';
break;
case 'BAR':
$val = 'MY OTHER CONSTANT VALUE';
break;
}
return $val;
}
Por supuesto, su sintaxis sería un poco extraño:
// Retrieve the "constant"
$foo = $this->FOO;
... pero al menos esto no funcionaría:
$this->FOO = 'illegal!';
Tal vez algo que vale la pena probar?
Saludos
si es un valor constante, ¿importaría si es privado o no? – hjpotter92
puede definir las constantes de clase que pertenecen a una clase http://www.php.net/manual/en/language.oop5.constants.php – Hajo
@Hajo - ¿cómo? const privado produce un error. –