Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Przechowywanie danych, Problem z przechowywaniem wartości statycznych
yaotzin
post 4.03.2009, 16:23:38
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 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


--------------------
------
Per Aspera Ad Astra
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
dr_bonzo
post 4.03.2009, 16:37:19
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


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
yaotzin
post 4.03.2009, 16:46:15
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 smile.gif


--------------------
------
Per Aspera Ad Astra
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 07:11