ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
ilDBWrapperFactory Class Reference

DB Wrapper Factory. More...

+ Collaboration diagram for ilDBWrapperFactory:

Static Public Member Functions

static getWrapper ($a_type, $a_inactive_mysqli=null)
 

Detailed Description

DB Wrapper Factory.

Delivers a DB wrapper object depending on given DB type and DSN.

Author
Alex Killing alex..nosp@m.kill.nosp@m.ing@g.nosp@m.mx.d.nosp@m.e
Version
Id
class.ilDB.php 18989 2009-02-15 12:57:19Z akill

Definition at line 15 of file class.ilDBWrapperFactory.php.

Member Function Documentation

◆ getWrapper()

static ilDBWrapperFactory::getWrapper (   $a_type,
  $a_inactive_mysqli = null 
)
static

Definition at line 17 of file class.ilDBWrapperFactory.php.

18 {
19 global $ilClientIniFile;
20
21 if ($a_type == "" && is_object($ilClientIniFile))
22 {
23 $a_type = $ilClientIniFile->readVariable("db","type");
24 }
25 if ($a_type == "")
26 {
27 $a_type = "mysql";
28 }
29
30 switch ($a_type)
31 {
32 case "mysql":
33 include_once("./Services/Database/classes/class.ilDBMySQL.php");
34 $ilDB = new ilDBMySQL();
35
36 if($a_inactive_mysqli === null &&
37 is_object($ilClientIniFile))
38 {
39 $a_inactive_mysqli = $ilClientIniFile->readVariable("db","inactive_mysqli");
40 }
41
42 // default: use mysqli driver if not prevented by ini setting
43 if(!(bool)$a_inactive_mysqli)
44 {
45 $ilDB->setSubType("mysqli");
46 }
47
48 break;
49
50 case "innodb":
51 include_once("./Services/Database/classes/class.ilDBInnoDB.php");
52 $ilDB = new ilDBInnoDB();
53
54 if($a_inactive_mysqli === null &&
55 is_object($ilClientIniFile))
56 {
57 $a_inactive_mysqli = $ilClientIniFile->readVariable("db","inactive_mysqli");
58 }
59
60 // default: use mysqli driver if not prevented by ini setting
61 if(!(bool)$a_inactive_mysqli)
62 {
63 $ilDB->setSubType("mysqli");
64 }
65
66 break;
67
68 case "postgres":
69 include_once("./Services/Database/classes/class.ilDBPostgreSQL.php");
70 $ilDB = new ilDBPostgreSQL();
71 break;
72
73 case "oracle":
74 include_once("./Services/Database/classes/class.ilDBOracle.php");
75 $ilDB = new ilDBOracle();
76 break;
77 }
78
79 return $ilDB;
80 }
MySQL InnoDB Database Wrapper.
MySQL Database Wrapper.
Oracle Database Wrapper.
PostreSQL Database Wrapper.
global $ilDB

References $ilDB.

Referenced by ilSoapAuthenticationCAS\__buildAuth(), ilBaseAuthentication\__buildDSN(), ilClient\connect(), ilSoapAdministration\getClientInfo(), and ilInitialisation\initDatabase().

+ Here is the caller graph for this function:

The documentation for this class was generated from the following file: