Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> AdoDB + __construct(), można tak? zadziała?
Aztech
post
Post #1





Grupa: Zarejestrowani
Postów: 276
Pomógł: 3
Dołączył: 22.10.2003
Skąd: Wrocław

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


Pytanko: mam klasę a w niej wiadomo konstruktor. Czy tworzenie w nim połączenia z AdoDB jest dobrym pomysłem (by nie musieć się łączyć za każdym razem w wywołaniu metody update, create, alter, delete z bazą danych?


  1. <?php
  2.  
  3. include("adodb.inc.php");
  4.  
  5. class TUser {
  6.  
  7.  
  8. /*
  9. pola prywatne
  10. */
  11.  
  12. public function __construct() {
  13. $db = NewADOConnection('mysql');
  14. $db->Connect("localhost", "root", "password", "mydb");
  15. }
  16.  
  17. public function updateUser(){
  18. /*
  19. kod
  20. */
  21. $db->Execute(/* formuła na update */)
  22. }
  23.  
  24. public function createUser(){
  25. /*
  26. kod
  27. */
  28. $db->Execute(/* formuła na tworzenie usera */)
  29. }
  30.  
  31. public function deleteUser(){
  32. /*
  33. kod
  34. */
  35.  
  36. $db->Execute(/* formuła na usuwanie */)
  37. }
  38.  
  39. }
  40.  
  41. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
krzysztof f.
post
Post #2





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 22.11.2005

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


Można też tak:

  1. <?php
  2. class TUser {
  3.  /**
  4. * Połączenie z bazą danych
  5. * @var Connection
  6. * @access protected
  7. * @static
  8. **/
  9.  protected static $oDbConn;
  10.  
  11.  /**
  12. * Konstruktor 
  13. *
  14. * Ustwienie obiektu połączenia z bazą danych
  15. *
  16. * @return TUser
  17. * @access public
  18. * @throws RegistryException
  19. * @throws SQLException 
  20. **/
  21.  public function __construct()
  22.  {
  23. try
  24. {
  25.  $this->oDbConn = ServiceLocator::getInstance()->getDbConn();
  26. }
  27. catch ( RegistryException $oE )
  28. {
  29.  throw $oE;
  30. }
  31. catch ( DbException $oE )
  32. {
  33.  throw $oE;
  34. }
  35.  }
  36. }
  37. ?>


Gdzie ServiceLocator http://java.sun.com/blueprints/corej2eepat...iceLocator.html to klasa odpowiedzialna za wyszukiwanie usług powszechnie używanych w obrębie całej palikacji. Możemy ją zaimplementować w najprostrzy sposób jako rejestr http://www.phppatterns.com/docs/design/the_registry

Ten post edytował krzysztof f. 7.12.2005, 10:01:56
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: 8.10.2025 - 16:47