Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> PHP5 i Singletony
Ozzy
post
Post #1





Grupa: Zarejestrowani
Postów: 204
Pomógł: 0
Dołączył: 26.12.2003
Skąd: Rzeszów

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


Może mnie ktoś oświecić dlaczego używa się singletonów? np:

  1. <?php
  2. class Foo {
  3.  
  4.  
  5. private static $reference;
  6. private $test;
  7.  
  8.  
  9. private function __construct() {}
  10.  
  11.  
  12. public function bar() {
  13.  
  14. $this->test = 'test';
  15. $this->bar2();
  16.  
  17. }
  18.  
  19.  
  20. private function bar2() {}
  21.  
  22.  
  23. public static function getRef() {
  24.  
  25. if(self::$reference == null) {
  26. self::$reference = new Foo();
  27. }
  28.  
  29. return self::$reference;
  30.  
  31. }
  32.  
  33.  
  34. }
  35.  
  36. Foo::getRef()->bar();
  37. ?>


skoro to samo można osiągnąć w ten sposób?:

  1. <?php
  2. class Foo {
  3.  
  4.  
  5. private static $test;
  6.  
  7.  
  8. public static function bar() {
  9.  
  10. self::$test = 'test';
  11. self::bar2();
  12.  
  13. }
  14.  
  15. private static function bar2() {}
  16.  
  17.  
  18. }
  19.  
  20. Foo::bar();
  21. ?>


Widze jakie są różnice, jednak nie rozumiem dlaczego singletony są stosowane skoro zapis Foo::bar(); jest wygodniejszy i kod klasy krótszy...
Czy za pomocą singletonów można zrobić coś, o czym nie wiem?
Go to the top of the page
+Quote Post

Posty w temacie
- Ozzy   PHP5 i Singletony   17.03.2004, 16:15:13
- - Cudi   Sigleton pozwala Ci działać na jednej instancji da...   17.03.2004, 16:22:25
- - Ozzy   tak, ale w php5 nie musze używać zmiennych globaln...   17.03.2004, 18:24:14
- - Cudi   Singletony są zastępstwem dla obiektów globalnych ...   17.03.2004, 18:32:08
- - Ozzy   Ja cię rozumiem, ale w php5 nie ma takiej potrzeby...   17.03.2004, 18:38:44
- - Simpson   CytatJa cię rozumiem, ale w php5 nie ma takiej pot...   17.03.2004, 18:44:15
- - Ozzy   Cytatw tej klasie znajduja sie zmienne ktore sa Ci...   17.03.2004, 18:50:55
- - Wankster   Simpson: Ozzy mówił o PHP5, a tam możesz się odwoł...   17.03.2004, 18:51:45
- - Simpson   a no to chyba ze tak. Nie znam aż tak dokłądnie ph...   17.03.2004, 18:53:10
- - Cudi   Tak czy siak singleton może być przydatny, nie będ...   17.03.2004, 18:59:16
- - Ozzy   CytatTak czy siak singleton może być przydatny prz...   17.03.2004, 19:05:17
- - Cudi   Potrzebna by była bardzo rozbudowana klasa, a Ty m...   17.03.2004, 19:55:29
- - Ozzy   z tym się zgodzę, bo sam używam takiego rozwiązani...   17.03.2004, 20:28:38
- - Bora   z static nie można przesadzać bo przez nadmierne u...   17.03.2004, 20:55:40
- - Ozzy   Cytatz static nie można przesadzać bo przez nadmie...   17.03.2004, 21:13:37
- - Cudi   Ja preferuję tworzenie wewnątrz klasy metodę która...   17.03.2004, 21:15:42
- - Bora   CytatCytatz static nie można przesadzać bo przez n...   17.03.2004, 21:24:31
- - Ozzy   Bora: Foo::$bar do zmiennej i Foo::bar do stałej ...   17.03.2004, 21:56:36
- - Cudi   Myśle że właśnie sam sobie odpowiedziałeś na swoje...   18.03.2004, 17:38:42
- - Balin   czy moglibyscie podac linki do artykulow omawiajac...   18.03.2004, 19:07:33
- - Ozzy   http://www.phppatterns.com/index.php/artic...ticle...   18.03.2004, 19:20:04
- - hawk   Formalnie rzecz biorąc, singletony nie są potrzebn...   18.03.2004, 23:42:55
- - Ozzy   CytatA poza tym, wielkie klasy z samymi metodami s...   19.03.2004, 08:02:40


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: 23.08.2025 - 09:37