Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Agregar propiedades dinámicamente a un objeto

Estas en el tema de Agregar propiedades dinámicamente a un objeto en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Buenas, no uso mucho objetos en php, pero me llama la atención que esto no dé un error: Código PHP: <?php class  Test  {     function  ...
  #1 (permalink)  
Antiguo 08/08/2006, 22:06
 
Fecha de Ingreso: enero-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 299
Antigüedad: 18 años, 3 meses
Puntos: 5
Agregar propiedades dinámicamente a un objeto

Buenas, no uso mucho objetos en php, pero me llama la atención que esto no dé un error:

Código PHP:
<?php
class Test {

    function 
Test() {
        echo 
"constructor de Test<br>";

    }
    
}

$objTest = new Test();
$objTest->"propiedad agregada dinámicamente en tiempo de ejecución desde afuera de la definición de clase";
echo 
$objTest->a;

?>
Aclaro que mi experiencia con programación orientada a objetos pasa más por actionScript y soy un principiante en ese terreno, pero me interesa la aplicación del "diseño" orientado a objetos, más allá de las variantes -- lógicas -- que tenga cada lenguaje. (También tengo en cuenta que el "propósito" de ambos lenguajes es muy distinto, pero los dos intentan dar soporte en mayor o menor medida -- y cada vez más, diría -- al manejo de objetos).

El caso es que de acuerdo a lo que vengo leyendo y entendiendo sobre este este tema, lo de arriba "rompe" ciertas ideas básicas, como el encapsulamiento de los datos dentro de un objeto.

¿Hay alguna manera de evitar que se agreguen propiedades a un objeto fuera de la definición de clase? (Mi pregunta es más que nada por curiosidad, no es que esto me esté generando un problema concreto en este momento).

Suerte
Califa
  #2 (permalink)  
Antiguo 08/08/2006, 22:14
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Es un problema común de PHP4 (si le quieres llamar problema), aunque yo lo veo como una caracteristica importante, es como el prototype en Javascript, es muy util para agregar caracteristicas al momento.

PHP5 por su parte tiene varios mecanismos para rastrear estos errores y limpiarlos, y aparte soporta pues variables privadas/protegidas etc.

Te recomiendo que mejor de una vez te avientes a aprender PHP5 ya que es mucho mas OO.

Espero esto resuelva tu duda! saludos!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:30.