Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Korzystanie z jednej klasy w drugiej...pytanie?
Joachim Peters
post 10.01.2007, 20:54:23
Post #1





Grupa: Zarejestrowani
Postów: 196
Pomógł: 2
Dołączył: 1.03.2006

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


Witam,

Dopiero zaczynam przygode z klasami, dlatego proszę was o porade.
  1. <?php
  2. class SQL
  3. {
  4. // jakis kod klasy
  5. }
  6. $db = new SQL();
  7.  
  8. class fva
  9. { 
  10. function fva() 
  11. { 
  12. global $db; 
  13. $db->sql_query("SELECT * FROM jakas_tabela LIMIT 1"); 
  14. } 
  15.  
  16. }
  17. ?>

Czy ten skrypt jest do bani?
Bo dostałem taką opinie:
Cytat
po co globalny obiekt jak .. tylko w klasie potrzebuje ? pomijajac totalny bezsens tego rozwiazania to moze on jeszcze bledy powodowac.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Cysiaczek
post 13.01.2007, 11:31:37
Post #2





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Z wzorcami to jest tak, że się nie powinno wdrażać na siłę.
http://forum.php.pl/index.php?showtopic=52...mp;hl=singleton
http://forum.php.pl/index.php?showtopic=59...mp;hl=singleton
http://forum.php.pl/index.php?showtopic=55...mp;hl=singleton
http://forum.php.pl/index.php?showtopic=55...mp;hl=singleton

  1. <?php
  2. class my_Class {
  3.  
  4. /**
  5.  * Zawiera instancję tej klasy
  6.  * @var object static
  7.  */
  8. private static $instance;
  9.  
  10. /**
  11.  * Testowa
  12.  * @var mixed
  13.  */
  14. public $zmienna;
  15.  
  16. private function __construct(){}
  17.  
  18. public static function getInstance(){
  19.  
  20. if (!self::$instance){
  21. self::$instance=new self();
  22. }
  23. return self::$instance;
  24. }
  25. }
  26.  
  27. class test {
  28.  
  29. public function __construct(){
  30. $obj=my_Class::getInstance();
  31. print $obj->zmienna.'<br />';
  32. $obj->zmienna="zostałam ustawiona w klasie test";
  33. }
  34.  
  35. public function odczytaj_raz_jeszcze(){
  36. $obj=my_Class::getInstance();
  37. print $obj->zmienna.'<br />';
  38. $obj->zmienna="i jeszcze raz mnie zmieniono";
  39. }
  40.  
  41. }
  42.  
  43. $obj=my_Class::getInstance();
  44. $obj->zmienna="zostałam ustawiona poza klasą test";
  45.  
  46. $test=new test();
  47.  
  48. print $obj->zmienna.'<br />';
  49.  
  50. $test->odczytaj_raz_jeszcze();
  51.  
  52. print $obj->zmienna.'<br />';
  53. ?>


Wnioskuję o uznanie tematu Singleton tematem spamem : ). Jest pełno.

Pozdrawiam.

Ten post edytował Cysiaczek 13.01.2007, 11:32:26


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post

Posty w temacie


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: 15.08.2025 - 01:57