Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: "kolekcja" klas
Forum PHP.pl > Forum > PHP > Object-oriented programming
bartyk
Witam,

Trochę was męczę, ale staram się iść z postępem więc konieczne jest poznanie OOP.

Tym razem pytanie lekko ogólne - jak stworzyć kolekcję klas?

Czy poniższy kod jest poprawny??

  1. <?php
  2. class col_item {
  3. function &singleton() {
  4.  
  5. static $instance;
  6.  
  7. if (!isset($instance)) {
  8. $instance=new col_item();
  9. }
  10. return $instance;
  11. }
  12. }
  13.  
  14. class collect {
  15.  
  16.  public $items=array();
  17.  
  18. function &singleton() {
  19.  
  20. static $instance;
  21.  
  22. if (!isset($instance)) {
  23. $instance=new collect();
  24. }
  25. return $instance;
  26. }
  27.  
  28.  function add_item($item){
  29. array_push($this->items, $item);
  30.  }
  31.  }
  32.  
  33. var $nowakolekcja;
  34.  
  35. $nowakolekcja=&collect::singleton();
  36. $nowakolekcja->add_item(&col_item::singleton());
  37.  
  38. ?>
hwao
Nie widze sensu robienia czegos takiego (obie klasy sa za male ...).

Pozatym w PHP5 mamy domyslnie przekazywane obiekty przez referencje wiec
  1. <?php
  2. $nowakolekcja=&collect::singleton();
  3. $nowakolekcja->add_item(&col_item::singleton());
  4. ?>

Mozesz spokojnie zastopic
  1. <?php
  2. $nowakolekcja=collect::singleton();
  3. $nowakolekcja->add_item(col_item::singleton());
  4. ?>
bartyk
hwao: to jest tylko przykład. Rzeczywista klasa będzie reprezentować pracownika z całym "przychówkiem" w rodzaju uprawnień itd.

Dzięki za informację o przekazywaniu obiektów. rolleyes.gif
hawk
1. Element kolekcji singletonem?! Po co?

2. W php przykładem kolekcji obiektów jest tablica. I to kolekcji każdego typu: tablica, linked list, hashmapa, ...
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.