你能得到一个调用类的变量吗?

ale*_*lex 3 php oop

我有一个Page创建一个DB名为的实例的类$db.

__construct()Page,我创建新的$db对象,我拉了一堆配置数据从一个文件中.

现在,DB类有一个_connectToDB()(尝试)连接到数据库的方法.

DB类中有没有办法调用父类的配置数组?如果我不需要,我不想创建全局变量,我不想两次获取配置数据.

伪代码可能看起来像这样......

$dbUsername = get_calling_class_vars(configArray['dbUserName']);
Run Code Online (Sandbox Code Playgroud)

小智 6

我发现通常更容易初始化所有"重要"对象,接近他们需要知道的任何变量.你可以这样试试:

/* Code to get config variables here */
$DB = new DB($config);
/* You might want to delete the database password from $config here */
$Page = new Page($config, $DB);
Run Code Online (Sandbox Code Playgroud)

这样做意味着您还可以对数据库对象进行类型检查,如果您想:

class Page {
    function __construct(array $config, DBClass $db) { }
}
Run Code Online (Sandbox Code Playgroud)