Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Przechowywanie danych, Problem z przechowywaniem wartości statycznych
yaotzin
post
Post #1





Grupa: Zarejestrowani
Postów: 157
Pomógł: 0
Dołączył: 12.02.2007
Skąd: Zielona Góra

Ostrzeżenie: (0%)
-----


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 (IMG:http://forum.php.pl/style_emoticons/default/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ć :/

Ten post edytował yaotzin 4.03.2009, 16:47:00
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


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.

Ten post edytował dr_bonzo 4.03.2009, 16:38:29
Go to the top of the page
+Quote Post
yaotzin
post
Post #3





Grupa: Zarejestrowani
Postów: 157
Pomógł: 0
Dołączył: 12.02.2007
Skąd: Zielona Góra

Ostrzeżenie: (0%)
-----


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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 17.09.2025 - 16:25