Better DI for database.
[rock.divinelegy.git] / DataAccess / DataMapper / DataMapper.php
index 9944116..692763b 100644 (file)
@@ -3,28 +3,20 @@
 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