Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: "Piewsza klasa"
Forum PHP.pl > Forum > PHP
Tsiru
Witam !
Ucze się właśnie klas i chciałem zrobić coś do obsługi tablicy w ciastku.
Klasa ma obsługiwać tablice w jednym pliku cookie, który ma być uaktualniany przy modykacji lub usunięciu pozycji. Napisałem coś takiego:
  1. <?php
  2. ....
  3. $config['cookie']['name'] = 'c';
  4. class cookie
  5. {
  6. var $lista;
  7. function ciacho()
  8.  {
  9.  global $config;
  10. $this -> lista = ($_COOKIE[$config['cookie']['name']]);
  11. echo('ok');
  12. }
  13. function spis()
  14.  {
  15.  global $config;
  16. return $this -> lista;
  17. }
  18. function set($key,$val)
  19.  {
  20.  global $config;
  21. $this -> lista[$key] = $val;
  22. setcookie($config['cookie']['name'],serialize($this -> lista),time()+3600);
  23. }
  24. function remove($key,$val)
  25.  {
  26.  global $config;
  27. unset($this -> lista[$key]);
  28. setcookie($config['cookie']['name'],serialize($this -> lista),time()+3600);
  29. }
  30. function get($key)
  31.  {
  32. return $this -> lista[$key];
  33. }
  34. }
  35. ?>
  36. <hr />
  37. <?
  38.  
  39. $cookie = new cookie();
  40. $cookie -> set(rand(10000,99999),rand(10000,99999));
  41. $cookie -> set(rand(10000,99999),rand(10000,99999));
  42. print_r($cookie -> spis());
  43. ....
  44. ?>
Ale przy każdym uruchomieniu skryptu zamiast dopisać 2 przykładowe pozycje skrypt nadpisuje mi starą tablice z ciasteczkiem.
splatch
GLOBAL w klasach mówimy stanowcze NIE winksmiley.jpg
hwao
  1. <?php
  2. $config['cookie']['name'] = 'c';
  3. class cookie
  4. {
  5. var $lista;
  6. ?>


  1. <?php
  2. $config['cookie']['name'] = 'c';
  3. class cookie
  4. {
  5. var $sCookieName = null;
  6. var $lista;
  7. ?>


  1. <?php
  2. $Cookie = new Cookie(); // jezeli to pojedyncza instancja dla 1 cookie, to podaj id cookie w konstrutorze.
  3.  
  4. $Cookie->sCookieName = $config['cookie']['name'];
  5. ?>
Tsiru
No właśnie - konstruktor miał złą nazwa mellow.gif
A o globalach nie wiedziałem
Dzięki panowie winksmiley.jpg
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.