<?php
use Core\lib\db\ConnectionFactory;
/**
* The test file is in Core folder
* Place the class on Core/lib/db
* directory to use autoloading
*/
require_once 'Core/lib/db/ConnectionFactory.php';
$arguments = [
'driver' => 'mysql',
'host' => 'localhost',
'user' => 'root',
'password' => '',
'database' => 'dbname',
];
/*PHP 5.4+ style - just connect*/
$pdo = (new ConnectionFactory($arguments))->getLink();
/*PHP 5.3- style - just connect*/
$connectionFactory = new ConnectionFactory($arguments);
$pdo = $connectionFactory->getLink();
/**
* You can use the method getLink or the alias getConnection() as well
*/
$pdo = $connectionFactory->getConnection();
/**
* You can set any attribute or driver option
*/
// Attributes (will add on setAttribute PDO's method
$connectionFactory->addAttribute(\PDO::ATTR_CASE, \PDO::CASE_LOWER);
$connectionFactory->addAttribute(\PDO::ATTR_DEFAULT_FETCH_MODE, \PDO::FETCH_OBJ);
// Driver's option (will add on the fourth parameter on PDO constructor)
$connectionFactory->addDriverOption(\PDO::ATTR_PERSISTENT, true);
$connectionFactory->addDriverOption(\PDO::MYSQL_ATTR_MAX_BUFFER_SIZE, 1024 * 1024 * 10);
$pdo = $connectionFactory->getLink();
/**
* Now you can use all the PDO's methods!
*/
|