Ésta es probablemente bastante simple, pero no he sido capaz de encontrar la manera de expresar la pregunta de Google, así que aquí va:PHP: declarar una variable de clase a ser un objeto stdClass
Por lo tanto, hago a menudo algo como esto ...
class foo {
private $bar = array();
}
... para establecer una propiedad de clase para que sea una matriz. Sin embargo, me gustaría hacer una propiedad privada en lugar de un objeto, algo como esto:
class foo {
private $bar = new stdClass();
}
He intentado varias variaciones de este y ninguno de ellos funcionó. Se puede hacer esto? Para los puntos de bonificación, ¿puede asignar una propiedad privada para que sea cualquier otra clase de objeto?
Gracias!
Ok, eso funciona. Sin embargo, ¿qué sucede si quiero que esta clase sea extensible por otras clases que pueden anular el constructor? ¿Hay alguna forma de garantizar que $ bar se mantenga como un objeto? – Andrew
ver mis notas edita ... y también revisar el Manual de clases y objetos: http://php.net/manual/en/language.oop5.php – prodigitalson
Gracias por el ejemplo extendido, veo cómo lo hizo. Desearía que simplemente pudieras declarar que algo es un objeto de la manera que puedes declararlo como una matriz. Esto me permitiría "a prueba de tontos" el código mejor: no me gusta pedirles a los usuarios que llamen al constructor padre porque parecen olvidarlo siempre y no ser capaces de descubrir por qué las cosas no funcionan. Sin embargo, a veces tienes que hacer lo que tienes que hacer. ¡¡Gracias por la ayuda!! – Andrew