Foros del Web » Programando para Internet » PHP »

Ámbito de las variables estáticas

Estas en el tema de Ámbito de las variables estáticas en el foro de PHP en Foros del Web. Hola. Me gustaría saber el funcionamiento de las variables estáticas, me explico... (a ver si lo logro) Una variable estática dentro de una clase (por ...
  #1 (permalink)  
Antiguo 04/08/2011, 04:18
 
Fecha de Ingreso: agosto-2011
Mensajes: 59
Antigüedad: 13 años, 3 meses
Puntos: 8
Ámbito de las variables estáticas

Hola.

Me gustaría saber el funcionamiento de las variables estáticas, me explico... (a ver si lo logro)

Una variable estática dentro de una clase (por ejemplo) se comparte para todas las instancias de esa clase. Hasta ahí lo tengo claro. Pero si otra persona o yo mismo desde otro o el mismo navegador accedemos a esa misma variable para cada ejecución (ventana del navegador) la variable sería diferente. ¿Estoy en lo cierto?

Por ejemplo

tengo esta clase

class aa
{
public static $bb;

public function Inicio()
{
self::$bb=0;
}
public function Incrementar()
{
self::$bb++;
}
public function Mostrar()
{
echo self::$bb;
}



}

desde una ventana ejecuto los métodos de inicio e incrementar y desde otra solo inicio y mostrar en esta última debería imprimirme 0....

Bueno, eso es todo disculpen las molestias.
  #2 (permalink)  
Antiguo 04/08/2011, 05:42
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Ámbito de las variables estáticas

A ver, aclaremos algo, PHP se ejecuta en el servidor y su código no puede ser "accedido" por el navegador.

Además hay que recordar que PHP es un lenguaje stateless, de modo que por cada request se abrirá un nuevo proceso que cargara el script y lo eliminará de memoria una vez se termine de ejecutar.

Por lo cual, ninguna variable se persiste entre ejecuciones, a menos que la almacenes en sesiones, cookies, base de datos, etc.

Así que respondiendo a tu pregunta: estás equivocado.

Cada ves que ejecutas el script siempre te va a mostrar el valor de $bb como cero, ya que de ningún modo estarás persistiendo su valor; sin embargo, y si guardas su valor en sesión, y además al inicializar la clase recuperas dicho valor de sesión entonces si se verá afectado el valor de $bb.

PDTA: por favor consulta un manual.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 04/08/2011, 08:43
 
Fecha de Ingreso: agosto-2011
Mensajes: 59
Antigüedad: 13 años, 3 meses
Puntos: 8
Respuesta: Ámbito de las variables estáticas

Ok. Muchas gracias por la respuesta

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 22:00.