Open Journal Systems
3.3.0
DAORegistry.inc.php
1
<?php
2
18
import
(
'lib.pkp.classes.db.DAO'
);
19
20
class
DAORegistry
{
21
28
static
function
&
getDAOs
() {
29
$daos =&
Registry::get
(
'daos'
,
true
, array());
30
return
$daos;
31
}
32
40
static
function
registerDAO
($name, $dao) {
41
$daos =&
DAORegistry::getDAOs
();
42
if
(isset($daos[$name])) {
43
$returner = $daos[$name];
44
}
else
{
45
$returner =
null
;
46
}
47
$daos[$name] = $dao;
48
return
$returner;
49
}
50
57
static
function
&
getDAO
($name, $dbconn =
null
) {
58
$daos =&
DAORegistry::getDAOs
();
59
if
(!isset($daos[$name])) {
60
// Import the required DAO class.
61
$application
=
Application::get
();
62
$className =
$application
->getQualifiedDAOName($name);
63
if
(!$className) {
64
fatalError
(
'Unrecognized DAO '
. $name .
'!'
);
65
}
66
67
// Only instantiate each class of DAO a single time
68
$daos[$name] =&
instantiate
($className, array(
'DAO'
,
'XMLDAO'
));
69
if
($dbconn !=
null
) {
70
$daos[$name]->setDataSource($dbconn);
71
}
72
}
73
74
return
$daos[$name];
75
}
76
}
77
78
DAORegistry
Maintains a static list of DAO objects so each DAO is instantiated only once.
Definition:
DAORegistry.inc.php:20
instantiate
& instantiate($fullyQualifiedClassName, $expectedTypes=null, $expectedPackages=null, $expectedMethods=null, $constructorArg=null)
Definition:
functions.inc.php:165
$application
$application
Definition:
index.php:65
DAORegistry\getDAO
static & getDAO($name, $dbconn=null)
Definition:
DAORegistry.inc.php:57
Registry\get
static & get($key, $createIfEmpty=false, $createWithDefault=null)
Definition:
Registry.inc.php:35
DAORegistry\registerDAO
static registerDAO($name, $dao)
Definition:
DAORegistry.inc.php:40
DAORegistry\getDAOs
static & getDAOs()
Definition:
DAORegistry.inc.php:28
PKPApplication\get
static get()
Definition:
PKPApplication.inc.php:235
fatalError
if(!function_exists('import')) fatalError($reason)
Definition:
functions.inc.php:32
lib
pkp
classes
db
DAORegistry.inc.php
Generated on Fri Aug 28 2020 14:51:24 for Open Journal Systems by
1.8.17