Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Przechowywanie danych
Forum PHP.pl > Forum > Przedszkole
yaotzin
Mam taką oto klasę:

  1. <?php
  2. class klasa{
  3.   private static $zmienna = array();
  4.  
  5.   public static function init(){
  6.      self::$zmienna['jeden'] = 1;
  7.      self::$zmienna['dwa'] = 2;
  8.  }
  9.  
  10.   public static function showValue(){
  11.       echo self::$zmienna['jeden'];
  12.   }
  13. }
  14. ?>


Przy pierwszym wywołaniu, gdy inicjowane są dane w $zmienna to wszystko jest ok... informacja za pomocą showValue jest wyświetlana, natomiast w momencie gdy próbuję wywołać już samą funkcję showValue(); na przykład za pomocą AJAX to zawartość $zmienna została usunięta.

Czyli mamy plik powiedzmy... index.php -> gdzie inicjalizujemy zmienne i plik getWithAjax.php gdzie dane są pobierane, niestety wywołanie getWithAjax.php w pliku index.php wyświetla informacje z showValue, natomiast gdy odwołuję się do pliku getWithAjax za pomocą mootools to już dane swoje tracę... nie wiem co robię źle... w JAVA podobna akcja działa bez problemu... wiem że dane są inicjalizowane tylko na czas trwania skryptu, ale miałem cichą nadzieję że zmienne statyczne są przechowywane dłużej... :/

I żeby nie było to szukałem smile.gif http://bytes.com/groups/php/167559-php-5-s...class-variables

Podobnie dzieje się z $_SESSION, ale tej zmiennej mogę źle używać :/
dr_bonzo
Tos namieszal.
Zmienne statyczne klasy obsluguje sie:

self::$zmienna['cos'] = $cos;

a definiuje

private static $zmienna = array();


Cytat
w JAVA podobna akcja działa bez problemu... wiem że dane są inicjalizowane tylko na czas trwania skryptu, ale miałem cichą nadzieję że zmienne statyczne są przechowywane dłużej... :/

Nie, w php wszystko jest niszczone na koniec requestu. Nawet zmienne statyczne.
yaotzin
Cytat(dr_bonzo @ 4.03.2009, 16:37:19 ) *
Tos namieszal.
Zmienne statyczne klasy obsluguje sie:

self::$zmienna['cos'] = $cos;

a definiuje

private static $zmienna = array();
Nie, w php wszystko jest niszczone na koniec requestu. Nawet zmienne statyczne.



Sorki fakt, masz rację... ma być dolar, klepałem z palca... i zapomniałem smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.