Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Połączenie z bazą danych, Udostępnienie objektu czy wywołanie w klasie?
Tomplus
post
Post #1





Grupa: Zarejestrowani
Postów: 1 885
Pomógł: 231
Dołączył: 20.03.2005
Skąd: Będzin

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


Mam pytanie bo mnie nurtuje ostatnio, a nigdzie nie spotkałem jakiejś rzetelnej odpowiedzi, a chodzi mianowicie o korzystanie z połączenia z bazami danych w klasach i nie wiem które rozwiązanie jest lepsze. Poniżej przedstawiłem przykład.

I pytanie który z tych zapisów jest lepszy z perspektywy działania kodu, czy klasaA gdzie wykonuje się połączenie raz a potem udostępnia się obiekt do klas które wymagają takowego połączenia. [używam ten wzorzec]

Czy lepiej wywoływać połączenie za każdym razem gdy wywołujemy daną klasę która wymaga połączenia z bazą?

  1. class db {}
  2.  
  3. class klasaA {
  4. private $db;
  5. public function __construct($db){
  6. $this->db = $db;
  7. }
  8. }
  9.  
  10. class klasaB {
  11. private $db;
  12. public function __construct(){
  13. $this->db = new db;
  14. }
  15. }


Ten post edytował Tomplus 3.03.2016, 13:32:43
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Damonsson
post
Post #2





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

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


Jeżeli potrzebujesz innego obiektu to dołączasz go przez DI, czyli wersja A. Ważny, powód to uniwersalność takiego rozwiązania. Nie musisz hardocodować konkretnego obiektu w kodzie. Z perspektywy działania kodu, są identyczne, tu i tu musisz utworzyć obiekt. Patrząc jednak na wzorce projektowe czy przejrzystość kodu, stosowana powszechnie jest wersja A.
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: 27.12.2025 - 06:46