Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> pytanie o PDO i simpletony
dżozef
post
Post #1





Grupa: Zarejestrowani
Postów: 125
Pomógł: 9
Dołączył: 25.05.2013

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


Ogarnąłem już PDO i używam statycznej zmiennej do połączenia się z bazą. Tutaj przykładowa klasa: https://gist.github.com/mprz/6cce0e6dd51e4796209c
Tworząc kilka klas niejako uzależniam je od klasy odpowiedzialnej za tworzenie połączenia. Czy to na pewno idealne rozwiązanie?
Druga sprawa: gdzie inkludować ową klasę DB? W każdej z klas która jej używa, czy w programie, który korzysta z obu klas (tak robię obecnie)?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
vincent vega
post
Post #2





Grupa: Zarejestrowani
Postów: 15
Pomógł: 1
Dołączył: 30.06.2009

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


No spodziewałem się całej otoczki OOP (IMG:style_emoticons/default/smile.gif) Chodzi mi o sposób użycia, czy miałby wyglądać mniej więcej tak ?
  1. class DomainsController {
  2. private $config;
  3. private $dbConn;
  4.  
  5. public function getConfig() {
  6. // Czy nie przypomina to w jakis sposob singletona ?
  7. if (!is_null($this->config)) {
  8. return $this->config;
  9. }
  10. // Wczytaj konfiguracje
  11. return $this->config;
  12. }
  13.  
  14. public function getDbConn() {
  15. if (!is_null($this->dbConn)) {
  16. return $this->dbConn;
  17. }
  18. $config = $this->getConfig();
  19. $this->dbConn = new PDO($config['dsn']);
  20. // Konfiguracja polaczenia, w kazdym z kontrolerow osobno ?
  21. $this->dbConn->exec("set names utf8");
  22. return $this->dbConn;
  23. }
  24.  
  25. public function addDomain($req) {
  26. // Ten kod bedzie w kolko powtarzany, co z regula DRY ?
  27. $dao = new Domains($this->getDbConn());
  28.  
  29. $form = new DomainForm($dao);
  30. $form->save($req->getData());
  31. }
  32. }


Ten post edytował vincent vega 19.08.2013, 10:30:28
Go to the top of the page
+Quote Post

Posty w temacie
- dżozef   pytanie o PDO i simpletony   12.06.2013, 19:31:16
- - vincent vega   Nie wiem czy idealne ale takie rozwiązanie jest po...   17.08.2013, 12:09:14
- - Crozin   @vincent vega: Jak najbardziej można korzystać w j...   17.08.2013, 12:25:39
- - vincent vega   @crozin Nie napisałem że nie możesz mieć kilku poł...   18.08.2013, 18:42:28
- - Crozin   CytatNapisałem że nie potrzebujesz tworzyć kilku p...   18.08.2013, 19:43:10
- - vincent vega   CytatZazwyczaj... a gdy w końcu przychodzi koniecz...   18.08.2013, 23:04:58
- - Crozin   CytatPróbujesz rozwiązać problem który jeszcze nie...   19.08.2013, 00:20:49
- - Szymciosek   Crozin możesz coś więcej powiedzieć o błędach powt...   19.08.2013, 07:16:28
- - vincent vega   Nie ma idealnych rozwiązań. Napisałem że takie roz...   19.08.2013, 08:55:47
- - Crozin   Głownie są te błędy wynikające z użycia singletonu...   19.08.2013, 09:23:15
- - vincent vega   No spodziewałem się całej otoczki OOP Chodzi mi o...   19.08.2013, 10:24:59
- - Crozin   Zacznijmy od tego, że w tym wątku rozmawiamy o Sin...   19.08.2013, 12:08:08
- - vincent vega   No właśnie chciałem zobaczyć całą infrastrukturę z...   19.08.2013, 13:52:14
- - Crozin   Przykładowa implementacja dosyć rozbudowanego kont...   19.08.2013, 14:30:35
- - vincent vega   Dla mnie to astronautyka, uważam że jeżeli można u...   21.08.2013, 10:27:30
- - destroyerr   Można korzystać z podanych funkcji tylko powstaje ...   21.08.2013, 11:02:17
- - vincent vega   Może faktycznie trochę się zapędziłem z DDD, sam j...   21.08.2013, 12:14:03
- - Crozin   CytatW tej chwili forsowany jest DIC jak by miał t...   21.08.2013, 12:53:47
- - vincent vega   Tak stricte to nie są te same rzeczy, czasami tylk...   21.08.2013, 13:39: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: 4.10.2025 - 00:50