DDDBL 2.0
 All Classes Namespaces Files Functions Variables
database.func.php
Go to the documentation of this file.
1 <?php
2 
3 namespace DDDBL;
4 
13 function getDB() {
14 
15  if(!isConnected())
16  return false;
17 
18  $objDB = getDBDataObject();
19 
20  return $objDB->get('PDO');
21 
22 }
23 
31 function connect() {
32 
33  if(isConnected())
34  return true;
35 
36  $objDB = getDBDataObject();
37 
38  try {
39  $objPDO = new \PDO($objDB->get('CONNECTION'),
40  $objDB->get('USER'),
41  $objDB->get('PASS'));
42  } catch (\Exception $objException) {
43  return false;
44  }
45 
46  $objDB->update(array('PDO' => $objPDO));
47 
48  return true;
49 
50 }
51 
56 function disconnect() {
57 
58  $objDB = getDBDataObject();
59 
60  $objPDO = $objDB->get('PDO');
61  $objPDO = null;
62 
63  $objDB->delete('PDO');
64 
65 }
66 
71 function isConnected() {
72 
73  $objDB = getDBDataObject();
74 
75  if(!$objDB->exists('PDO'))
76  return false;
77 
78  return true;
79 
80 }
81 
90 function startTransaction() {
91 
92  return mapMethod('beginTransaction');
93 
94 }
95 
104 function inTransaction() {
105 
106  return mapMethod('inTransaction');
107 
108 }
109 
118 function rollback() {
119 
120  return mapMethod('rollback');
121 
122 }
123 
132 function commit() {
133 
134  return mapMethod('commit');
135 
136 }
137 
144 function getErrorInfo() {
145 
146  return mapMethod('errorInfo');
147 
148 }
149 
157 function changeDB($strIdentifier) {
158 
159  $objDataObjectPool = new DataObjectPool('Database-Definition');
160 
161  $objNewDB = $objDataObjectPool->get($strIdentifier);
162 
163  $objDataObjectPool->delete('DEFAULT');
164  $objDataObjectPool->add('DEFAULT', $objNewDB->getAll());
165 
166 }
167 
168 
175 function getDBDataObject() {
176 
177  $objDataObjectPool = new DataObjectPool('Database-Definition');
178  return $objDataObjectPool->get('DEFAULT');
179 
180 }
181 
192 function mapMethod($strMethod) {
193 
194  if(!is_string($strMethod))
195  throw new UnexpectedParameterTypeException('string', $strMethod);
196 
197  if(!isConnected())
198  return false;
199 
200  $objDB = getDBDataObject();
201 
202  $objPDO = $objDB->get('PDO');
203 
204  return $objPDO->$strMethod();
205 
206 }