Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/10/2008, 04:52
raistlink
 
Fecha de Ingreso: septiembre-2005
Mensajes: 7
Antigüedad: 18 años, 7 meses
Puntos: 0
Variables estáticas para realizar una única vez inicializaciones costosas

Hola,
estoy probando el uso de variables estáticas y no sé si sirven para lo que quiero.

Lo que yo necesito es tener una variable en memoria de manera que cada vez que cualquier URL de mi aplicación tenga acceso a esa variable y que si el valor de esa variable se modifica, cualquiera que la acceda verá el nuevo valor.

Creía que para eso son las variables estáticas, pero en las pruebas que estoy haciendo cada vez que recargo la página me pierde los valores.

La prueba que estoy haciendo es muy simple:

thefunction.php:

<?php
class TheFunction {

public static $iTest = 1;

public static function myinit(){
self::$iTest++;
}
}
?>

thecall.php:

<?php

require_once("thefunction.php");

echo 'iTest antes de llamar a la funcion: '.TheFunction::$iTest.'<br/>';
TheFunction::myinit();
echo 'iTest despues de llamar a la funcion: '.TheFunction::$iTest.'<br/>';
?>

Cada vez que recargo esta url:
http://php.quique.es:8080/static/thecall.php

Obtengo la misma salida:

iTest antes de llamar a la funcion: 1
iTest despues de llamar a la funcion: 2

La idea es que la primera vez devolviese
iTest antes de llamar a la funcion: 1
iTest despues de llamar a la funcion: 2

la siguiente:
iTest antes de llamar a la funcion: 2
iTest despues de llamar a la funcion: 3

la siguiente:
iTest antes de llamar a la funcion: 3
iTest despues de llamar a la funcion: 4

...

¿Estoy haciendo algo mal o es que no se puede?

Gracias