Här kommer ett exempel på kod för att använda den objectoerienterade paradigmen för PDO och getConnection ()-metoden.
Det här är bara ett enkelt exempel på hur man kan göra. Jag har även lagt in felhantering med 'try {} Catch {}'....
Jag har valt att göra metoden getConnection() static så det inte går att skapa mer än en instans, som i sig görs genom att Connection bevaras i en static deklarerad variabel som jag initierar till null (static $dbconnection = null).
I detta fall heter min databas 'Test' därav namnet 'ApplicationDatabase
Test', om jag använder flera databaser i min applikation så kan jag enkelt kopiera denna klass och om jag exempelvis har en annan databas som heter 'Webbshop' så skulle klassen kunna heta 'ApplicationDatabase
Webbshop' .
För att hämta Connection så skriver man så här från sina anrop:
Kod:
$dbConn = ApplicationDatabaseTest::getConnection();
Kod:
<?php
/*
ApplicationDatabaseTest.PHP
Allows PHP to connect to your database
*/
class ApplicationDatabaseTest
{
// Database Variables (edit with your own server information)
static $server = 'MyHost'; // exempelvis: 'localhost'
static $user = 'MyUserID'; // exempelvis: 'kalle'
static $password = 'MyPassword';// exempelvis: 'nYs9kGu4rb'
static $database = 'MyDatabase';// exempelvis: 'MySampleDB'
// Get Connection to Database
static function getConnection()
{
static $dbconnection = null;
try
{
if (is_null($dbconnection))
{
$dbconnection = new PDO('mysql:host=' . self::$server.';dbname=' . self::$database, self::$user, self::$password);
}
}
catch (PDOException $e)
{
throw new Exception("Error: " . $e->getMessage() . "",0,$e);
die();
return null;
}
catch (Exception $e)
{
throw new Exception('Error: Can not connect to database.',0,$e);
}
return $dbconnection;
}
}
?>