我正在尝试向我的每个类添加一个静态成员,其中包含它们在实例化时应该使用的默认数据库连接。这是我正在尝试的方法:
<?php //other classes extend Generic
class Generic {
public static $defaultDatabase;
public $db;
function __construct (&$pDatabase = null){
if ($pDatabase!==null)
$this->db = &$pDatabase;
else
$this->db = &$defaultDatabase;
}
}
?>
<?php
include_once("/classes/class.Database.php");
$db = new Database ("localhost", "username", "password", "TestDatabase");
$classes = array("Generic", "Member");
foreach ($classes as $class){
include_once("/classes/class.$class.php");
$class::defaultDatabase = &$db;//throws error here, unexpected "="
}
?>
我究竟做错了什么?有没有更好的方法来做到这一点,还是我必须为每个类单独设置 defaultDatabase?我正在使用 php 5.3,我知道它应该支持这样的东西。