aboutsummaryrefslogtreecommitdiff
path: root/private/Model/Connection.php
diff options
context:
space:
mode:
authorKevin J Hoerr <kjhoerr@protonmail.com>2017-07-08 11:11:53 -0400
committerKevin J Hoerr <kjhoerr@protonmail.com>2017-07-08 11:11:53 -0400
commit2d796d48df6f4371111bcbc776ea781e4f45c831 (patch)
tree8b70da2114d71d2835b2f58eb2d43083a3ff5a6f /private/Model/Connection.php
parent3b75177580e536ce309d44759eb4d1f772c987ce (diff)
downloadaugust-offensive-2d796d48df6f4371111bcbc776ea781e4f45c831.tar.gz
august-offensive-2d796d48df6f4371111bcbc776ea781e4f45c831.tar.bz2
august-offensive-2d796d48df6f4371111bcbc776ea781e4f45c831.zip
Expand on query and result, begin sql design
Diffstat (limited to 'private/Model/Connection.php')
-rw-r--r--private/Model/Connection.php41
1 files changed, 41 insertions, 0 deletions
diff --git a/private/Model/Connection.php b/private/Model/Connection.php
new file mode 100644
index 0000000..48cf4fb
--- /dev/null
+++ b/private/Model/Connection.php
@@ -0,0 +1,41 @@
+<?php
+
+declare(strict_types=1);
+
+namespace AugustOffensive\Model;
+
+/**
+ * Model connection class for connecting to database via PDO.
+ */
+class Connection
+{
+ /** @var \PDO $_conn PDO connection to database. */
+ private $conn;
+ /**
+ * Initiates connection to PostGreSQL database.
+ *
+ * @return Connection
+ */
+ public function __construct ()
+ {
+ // Establish connection to db
+ include 'creds.php';
+
+ try {
+ $conn = new \PDO(
+ "pgsql: host=" . $cred->host .
+ (($cred->port !== '') ? ";port=" . $cred->port : '') .
+ ";dbname=" . $cred->dbName,
+ $cred->login,
+ $cred->password
+ );
+ // we destroy $cred as quickly as possible
+ $cred = null;
+ } catch (\PDOException $err) {
+ // we destroy $cred as quickly as possible
+ $cred = null;
+ die(json_encode(array("Result-Type" => "ERROR", "Content" => array($err->getMessage()))));
+ }
+ return $this;
+ }
+}