Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> zmienna globalna w klasie
sf
post
Post #1





Grupa: Zarejestrowani
Postów: 1 597
Pomógł: 30
Dołączył: 19.02.2003
Skąd: Tychy

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


Przeglądając bibliotekę PEAR natknołem się na przykład,w którym wewnątrz klasy mamy zmienną globalną...

  1. <?php
  2. class MyPerson {
  3.  
  4. // gets an array of data about the seleted person
  5. function getPerson($id) {
  6. global $db;
  7. $result = $db->query(&#092;"SELECT * FROM person WHERE id=$id\");
  8. return $result->fetchRow();
  9. }
  10.  
  11. // example of checking a password.
  12. function checkPassword($username,$password) {
  13. global $db;
  14. $db->query(&#092;"SELECT username FROM person WHERE username='$username' AND password = '$password'\");
  15. return $result->fetchRow();
  16. }
  17.  
  18. }
  19. ?>


Tylko bardzo mnie ciekawi skąd takie podejście... Jeśli sobie stworzę dwa obiekty $db i $db2 to jak mam wykorzystać tą klasę do obiektu $db2? W C++ bym chyba to zrobił na wskaźnikach, a tak to nie wiem co mam zrobić... może $db3 = $db; $db = $db2? (o ile to jest poprawne :}).
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
DeyV
post
Post #2





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




odpowiedź jest prosta - pozwala.
Ale jak ty to sobie obsłużysz - to już Twój problem.
Najlepiej jest po prostu nie korzystać z globali, tylko odpowiednio przekazywać obiekt bazy danych.
A co do metody statycznej - co prawda nie jestem pewien, do czego ona służy (wydaje mi się, ze akurat w tym przypadku nie będzie miała ona wpływu na konkretne połączenie) ale jeśli będziesz miał wątpliwości - po prostu skorzystaj z ADoDB które na pewno nie ma takich problemów.
Go to the top of the page
+Quote Post

Posty w temacie


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: 12.10.2025 - 23:09