インスタンス化時に使用するデフォルトのデータベース接続を含む各クラスに静的メンバーを追加しようとしています。これが私がそれをやろうとしている方法です:
<?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を使用していますが、これはこのようなものをサポートする必要があると理解しています。