我有一个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)