ILIAS
release_5-2 Revision v5.2.25-18-g3f80b828510
◀ ilDoc Overview
class.ilDBWrapperFactory.php
Go to the documentation of this file.
1
<?
php
2
/* Copyright (c) 1998-2009 ILIAS open source, Extended GPL, see docs/LICENSE */
3
require_once(
"./Services/Database/exceptions/exception.ilDatabaseException.php"
);
4
require_once(
'./Services/Database/classes/class.ilDBConstants.php'
);
5
require_once(
"./Services/Database/interfaces/interface.ilDBInterface.php"
);
6
require_once(
'./Services/Database/interfaces/interface.ilDBManager.php'
);
7
require_once(
'./Services/Database/interfaces/interface.ilDBReverse.php'
);
8
21
class
ilDBWrapperFactory
{
22
29
static
public
function
getWrapper(
$a_type
, $a_inactive_mysqli = null) {
30
global $ilClientIniFile;
35
if
(
$a_type
==
""
&& is_object($ilClientIniFile)) {
36
$a_type
= $ilClientIniFile->readVariable(
"db"
,
"type"
);
37
}
38
if
(
$a_type
==
""
) {
39
$a_type
=
ilDBConstants::TYPE_PDO_MYSQL_MYISAM
;
40
}
41
42
// For legacy code
43
if
(!
defined
(
'DB_FETCHMODE_ASSOC'
)) {
44
define(
"DB_FETCHMODE_ASSOC"
,
ilDBConstants::FETCHMODE_ASSOC
);
45
}
46
if
(!
defined
(
'DB_FETCHMODE_OBJECT'
)) {
47
define(
"DB_FETCHMODE_OBJECT"
,
ilDBConstants::FETCHMODE_OBJECT
);
48
}
49
50
switch
(
$a_type
) {
51
case
ilDBConstants::TYPE_POSTGRES
:
52
case
ilDBConstants::TYPE_PDO_POSTGRE
:
53
require_once(
'./Services/Database/classes/PDO/class.ilDBPdoPostgreSQL.php'
);
54
$ilDB
=
new
ilDBPdoPostgreSQL
();
55
break
;
56
case
ilDBConstants::TYPE_ORACLE
:
57
include_once(
"./Services/Database/classes/MDB2/class.ilDBOracle.php"
);
58
$ilDB
=
new
ilDBOracle
();
59
break
;
60
case
ilDBConstants::TYPE_PDO_MYSQL_INNODB
:
61
case
ilDBConstants::TYPE_INNODB
:
62
require_once(
'./Services/Database/classes/PDO/class.ilDBPdoMySQLInnoDB.php'
);
63
$ilDB
=
new
ilDBPdoMySQLInnoDB
();
64
break
;
65
case
ilDBConstants::TYPE_PDO_MYSQL_MYISAM
:
66
case
ilDBConstants::TYPE_MYSQL
:
67
require_once(
'./Services/Database/classes/PDO/class.ilDBPdoMySQLMyISAM.php'
);
68
$ilDB
=
new
ilDBPdoMySQLMyISAM
();
69
break
;
70
case
ilDBConstants::TYPE_GALERA
:
71
require_once(
'./Services/Database/classes/PDO/class.ilDBPdoMySQLGalera.php'
);
72
$ilDB
=
new
ilDBPdoMySQLGalera
();
73
break
;
74
case
'postgres-legacy'
:
75
require_once(
'./Services/Database/classes/MDB2/class.ilDBPostgreSQL.php'
);
76
$ilDB
=
new
ilDBPostgreSQL
();
77
break
;
78
case
'mysql-legacy'
:
79
require_once(
'./Services/Database/classes/MDB2/class.ilDBMySQL.php'
);
80
$ilDB
=
new
ilDBMySQL
();
81
break
;
82
case
'innodb-legacy'
:
83
require_once(
'./Services/Database/classes/MDB2/class.ilDBInnoDB.php'
);
84
$ilDB
=
new
ilDBInnoDB
();
85
break
;
86
default
:
87
throw
new
ilDatabaseException
(
"No viable database-type given: "
. var_export(
$a_type
,
true
));
88
}
89
90
return
$ilDB
;
91
}
92
}
ilDBPostgreSQL
PostreSQL Database Wrapper.
Definition:
class.ilDBPostgreSQL.php:18
ilDBPdoPostgreSQL
Class ilDBPdoPostgreSQL.
Definition:
class.ilDBPdoPostgreSQL.php:13
ilDBInnoDB
MySQL InnoDB Database Wrapper.
Definition:
class.ilDBInnoDB.php:18
ilDBPdoMySQLMyISAM
Class ilDBPdoMySQLMyISAM.
Definition:
class.ilDBPdoMySQLMyISAM.php:11
ilDBConstants\TYPE_GALERA
const TYPE_GALERA
Definition:
class.ilDBConstants.php:19
ilDatabaseException
Class ilDatabaseException.
Definition:
exception.ilDatabaseException.php:11
ilDBConstants\TYPE_PDO_POSTGRE
const TYPE_PDO_POSTGRE
Definition:
class.ilDBConstants.php:28
ilDBConstants\TYPE_PDO_MYSQL_INNODB
const TYPE_PDO_MYSQL_INNODB
Definition:
class.ilDBConstants.php:25
ilDBConstants\TYPE_PDO_MYSQL_MYISAM
const TYPE_PDO_MYSQL_MYISAM
Definition:
class.ilDBConstants.php:26
ilDBConstants\TYPE_ORACLE
const TYPE_ORACLE
Definition:
class.ilDBConstants.php:23
$a_type
$a_type
Definition:
workflow.php:93
ilDBConstants\TYPE_INNODB
const TYPE_INNODB
Definition:
class.ilDBConstants.php:16
ilDBConstants\TYPE_MYSQL
const TYPE_MYSQL
Definition:
class.ilDBConstants.php:17
ilDBMySQL
MySQL Database Wrapper.
Definition:
class.ilDBMySQL.php:18
$ilDB
global $ilDB
Definition:
storeScorm2004.php:16
ilDBWrapperFactory
Class ilDBWrapperFactory.
Definition:
class.ilDBWrapperFactory.php:21
ilDBPdoMySQLInnoDB
Class ilDBPdoMySQLInnoDB.
Definition:
class.ilDBPdoMySQLInnoDB.php:11
ilDBConstants\FETCHMODE_ASSOC
const FETCHMODE_ASSOC
Definition:
class.ilDBConstants.php:12
php
ilDBConstants\FETCHMODE_OBJECT
const FETCHMODE_OBJECT
Definition:
class.ilDBConstants.php:13
ilDBConstants\TYPE_POSTGRES
const TYPE_POSTGRES
Definition:
class.ilDBConstants.php:20
defined
defined( 'APPLICATION_ENV')||define( 'APPLICATION_ENV'
Definition:
bootstrap.php:27
ilDBPdoMySQLGalera
Class ilDBPdoMySQLInnoDB.
Definition:
class.ilDBPdoMySQLGalera.php:11
ilDBOracle
Oracle Database Wrapper.
Definition:
class.ilDBOracle.php:18
Services
Database
classes
class.ilDBWrapperFactory.php
Generated on Fri Jan 31 2025 19:01:08 for ILIAS by
1.8.13 (using
Doxyfile
)