10
¿Hay alguna manera de deshabilitar la adición de properties en una clase desde una instancia de la clase?¿Hay alguna manera de desactivar la adición de propiedades a una clase desde una instancia de la clase?
Lo que quiero decir es lo siguiente:
considerar esta clase:
class a {
private $v1;
public $v2;
function func(){
...
}
}
Si hago esto:
$ins = new a;
$ins->temp = "A variable created from outside the class! C*ap!";
var_dump($ins);
La salida:
object(a)#1 (3) { ["v1":"a":private]=> NULL ["v2"]=> NULL ["temp"]=> string(48) "A variable created from outside the class! C*ap!" }
Can this be disabled?
`
que miran en __set(). – ThinkingMonkey
Ya, es factible ... Gracias por la información. ¿Hay un método más elegante? como en Estoy anulando el método __set() predeterminado de PHP. Supongo que implicaría un poco de sobrecarga en el cálculo. – ThinkingMonkey
Esa sobrecarga es inevitable, me temo, dada la naturaleza de PHP de permitir que se creen nuevas propiedades simplemente agregándolas a instancias sin sobrecargar. – BoltClock