namespace DataAccess\DataMapper;\r
\r
use Domain\Entities\IDivineEntity;\r
+use DataAccess\IDatabaseFactory;\r
use DataAccess\DataMapper\IDataMapper;\r
use DataAccess\Queries\IQueryBuilder;\r
use DataAccess\DataMapper\Helpers\AbstractPopulationHelper;\r
use ReflectionClass;\r
-use PDO;\r
\r
class DataMapper implements IDataMapper\r
{\r
private $_db;\r
private $_maps;\r
\r
- public function __construct($maps, $dbCredentials)\r
+ public function __construct($maps, IDatabaseFactory $databaseFactory)\r
{\r
- $credentials = include $dbCredentials;\r
- //TODO: should probably do all this through a configuration object or something\r
- $dsn = 'mysql:host=localhost;dbname=divinelegy;charset=utf8';\r
- $username = 'root';\r
- $password = 'toor';\r
- $options = array(PDO::ATTR_EMULATE_PREPARES => false,\r
- PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION);\r
- \r
- $this->_db = new PDO($dsn, $credentials['user'], $credentials['pass'], $options); \r
+ $this->_db = $databaseFactory->createInstance(); \r
$this->_maps = include $maps;\r
}\r
\r