Martio
13.12.2006, 19:11:22
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
13.12.2006, 19:18:38
Szukaj - singleton :]
Martio
13.12.2006, 20:19:15
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
13.12.2006, 20:30:08
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
14.12.2006, 18:37:26
A jednak... znalazłem mozliwość stałego połączenia w PDO:
Persistent connections
<?php
$dbh = new PDO
('mysql:host=localhost;dbname=test', $user, $pass, array( PDO::ATTR_PERSISTENT => true
));
?>
Nie muszę używać singletona
Cysiaczek
14.12.2006, 18:47:27
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.