我是PHP
的新手,已经开始使用Moodle
。在Moodle中,我发现有一个全局对象$DB
,moodle_database
类的实例。我发现moodle_database
是一个抽象类。 moodle_database
的各种功能也是抽象的。
global $DB;
$DB = new moodle_database();
moodle_database
:
abstract class moodle_database
如何创建抽象类的实例?即使moodle_database
被其他类扩展而且$ DB是该类的对象,也可以认为事情很简单。
答案 0 :(得分:1)
在lib / setup.php中,调用了setup_DB(),它在lib / dmllib.php中定义。
这反过来调用$ DB = moodle_database :: get_driver_instance()来实例化moodle_database的子类。
我不知道你找到的代码行的确切位置,但我怀疑它实际上永远不会被运行,只是提供IDE的类型提示,因此在编写moodle代码时自动完成将起作用。