Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: PDO i podtrzymanie połączenia
Forum PHP.pl > Forum > PHP > Object-oriented programming
Martio
Czy można utrzymać połączenie z bazą danych przy tworzeniu instancji obiektów biblioteki PDO? Chodzi o to, że w aplikacji tworzę kilka instancji tej klasy i nie chciałbym kilka razy nawiązywać połączenia z bazą danych. Optymalnie powinno być tylko jedno.

Jeżeli jest to możliwe, to proszę o przykład.
NuLL
Szukaj - singleton :]
Martio
Cytat(NuLL @ 13.12.2006, 21:18:38 ) *
Szukaj - singleton :]


Wiem co to jest singleton, ale nie chcę do w ten sposób rozwiązać. Pytam się czy sama biblioteka PDO posiada w sobie taką implementację.
Cysiaczek
Do czasu, gdy aplikacja nie skończy działania (czyli w przypadku php do czasu zakończenia wykonywania skryptu) możesz utrzymywać połączenie. Nikt Ci nie broni. NuLL napisał w jaki sposób możesz się do niego odnieść w dowolnym miejscu aplikacji. Z tego, co wiem, to php nie pozwala na np. serializację uchwytów połączeń. Z tego wynika, że i PDO nie ma takiej funkcjonalności :/

Pozdrawiam.
Martio
A jednak... znalazłem mozliwość stałego połączenia w PDO:

  1. Persistent connections
  2. <?php
  3. $dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass, array(
  4. PDO::ATTR_PERSISTENT => true
  5. ));
  6. ?>


Nie muszę używać singletona winksmiley.jpg
Cysiaczek
No ba! To to wiadomo - już dawno było pod postacią funkcji mysql_pconnect(). Głowy nie dam, ale coś mi się mocno wydaje, że większość baz danych ogranicza ilość tego typu połączeń, więc mogą być niespodzianki : )

Pozdrawiam.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.