Итак, я нашел способ, который мне показался приятным: http://www.php.net/manual/en/class.pdo.php#97682
Требуется PHP 5.3, но мой хост поддерживает только 5.2: (
Так какой метод мне использовать для PDOгде он подключается к базе данных только при необходимости? И повторно использует то же соединение?
Используйте процедурный синглтон для удобства чтения:
function db() { static $conn; if (!isset($conn)) { $conn = new PDO("sqlite:/tmp/db"); } return $conn; }
Это упрощает использование, например:
$rows = db()->query("SELECT * FROM all")->fetchAll();
вы можете использовать синглтон с экземпляром. Database :: getInstance (), который создает, кэширует и возвращает объект PDO
class db{ protected static $conn; public static function getInstance() { if (!isset(self::$conn)) { self::$conn = new PDO("sqlite:/tmp/db"); } return self::$conn; } } $rows = db::getInstance()->query("SELECT * FROM all")->fetchAll();