Moodle数据库API - $ DB是抽象类的对象

时间:2014-07-19 04:59:14

标签: php moodle

我是PHP的新手,已经开始使用Moodle。在Moodle中,我发现有一个全局对象$DBmoodle_database类的实例。我发现moodle_database是一个抽象类。 moodle_database的各种功能也是抽象的。

global $DB;
$DB = new moodle_database();

moodle_database

abstract class moodle_database

如何创建抽象类的实例?即使moodle_database被其他类扩展而且$ DB是该类的对象,也可以认为事情很简单。

1 个答案:

答案 0 :(得分:1)

在lib / setup.php中,调用了setup_DB(),它在lib / dmllib.php中定义。

这反过来调用$ DB = moodle_database :: get_driver_instance()来实例化moodle_database的子类。

我不知道你找到的代码行的确切位置,但我怀疑它实际上永远不会被运行,只是提供IDE的类型提示,因此在编写moodle代码时自动完成将起作用。