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

Privatizar variables miembro

Estas en el tema de Privatizar variables miembro en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Ejemplo Código PHP: class  foo {        public function  __construct ()       {               $this -> var = "hola" ;         } } $foo =new  foo (); echo  $foo ...
  #1 (permalink)  
Antiguo 30/06/2011, 09:44
Avatar de cluster28  
Fecha de Ingreso: enero-2008
Ubicación: Donostia - San Sebastián
Mensajes: 756
Antigüedad: 16 años, 3 meses
Puntos: 32
Privatizar variables miembro

Ejemplo

Código PHP:
class foo
{
       public function 
__construct()
      {
             
$this->var="hola";  
      }
}

$foo=new foo();
echo 
$foo->var.'<br>'
De esta manera podemos acceder a ella:

hola

Hay alguna manera de crear la variable miembro como privada?

Código PHP:
private $var;//Ya lo se 
Lo quiero para no definir por ejemplo 50 variables que vienen de una Bd.

O para que cuando se amplía la tabla de la Bd se pueda trabajar con ese campo directamente.
  #2 (permalink)  
Antiguo 30/06/2011, 10:39
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
Respuesta: Privatizar variables miembro

No las asignes de esa forma, ya que por defecto son variables publicas, para hacer lo que dices debes de usar los métodos mágicos __get, __set, y guardar esas propiedades en un array privado.

Saludos.
  #3 (permalink)  
Antiguo 01/07/2011, 00:33
Avatar de cluster28  
Fecha de Ingreso: enero-2008
Ubicación: Donostia - San Sebastián
Mensajes: 756
Antigüedad: 16 años, 3 meses
Puntos: 32
Respuesta: Privatizar variables miembro

Cita:
Iniciado por GatorV Ver Mensaje
No las asignes de esa forma, ya que por defecto son variables publicas, para hacer lo que dices debes de usar los métodos mágicos __get, __set, y guardar esas propiedades en un array privado.

Saludos.

Etiquetas: variables
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 06:51.