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

Atributos estáticos en PHP

Estas en el tema de Atributos estáticos en PHP en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola. Tengo un problema y no se si es de concepto o que no estoy haciendo algo bien con los atributos estáticos en las clases ...
  #1 (permalink)  
Antiguo 03/02/2005, 12:20
 
Fecha de Ingreso: enero-2005
Mensajes: 1
Antigüedad: 20 años
Puntos: 0
Atributos estáticos en PHP

Hola. Tengo un problema y no se si es de concepto o que no estoy haciendo algo bien con los atributos estáticos en las clases de PHP.

Tengo experiencia desarrollando en JSP y no me funcionan igual.

Por ejemplo, tengamos una clase simple como esta:

class AtributoEstatico{
public static $atributo=0;

public function __construct(){
self::$atributo++;
echo self::$atributo;
}
}

Si yo llamo a esa función desde una página, con un:
$nueva = new AtributoEstatico()
en teoría, debería ir incrementando el valor de $atributo al recargar la página, pero no lo hace,(siempre muestra 1) imagino porque la clase se destruye y se vuelve a crear, cosa que con JSP no me pasaba (los atributos estáticos se mantienen después de cargar la página y con PHP no lo parece por lo que no tiene ningún sentido lo de static en este caso).

¿Qué estoy haciendo mal y cómo se consigue entonces hacer lo que pretendo?
Gracias y un saludo.
  #2 (permalink)  
Antiguo 03/02/2005, 21:13
Avatar de Nefertiter  
Fecha de Ingreso: enero-2003
Ubicación: Rosario
Mensajes: 1.316
Antigüedad: 22 años
Puntos: 9
creo que puedo estar mal yo, pero la variable no se recargaria cuando se actualiza la pagina sino cuando la clase es evocada mas de una vez.
de todas maneras como bien dije puedo estar mal asi te recomiendo mires http://ar2.php.net/manual/es/language.oop5.static.php
  #3 (permalink)  
Antiguo 04/02/2005, 22:00
Avatar de sism82  
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Antigüedad: 21 años, 3 meses
Puntos: 1
JSP no es igual a PHP, en PHP la clase es completamente destruida al terminar el script. Si quieres hacer algo como eso deberas usar variables de sesion.

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 02:20.