シングルトンパターンを使用してdb utilクラスを作成しようとしています。私の問題は、 "接続"オブジェクトが常にnullであることです。接続設定が正しい。私は何が間違っていますか?また、私は比較的新しいphp開発です。何が間違っているか把握するためにどのような方法を使用すべきですか?コードが続きます。mysqliコンストラクタがnullを返す
class DBUtil {
public $connection = NULL; //mysqli_connection object
private static $instance = NULL;
private function _constructor($conn){
//$this->connection = mysqli_connect(TagMetroConfiguration::getConfigurationValueFor("db_servser_name"), TagMetroConfiguration::getConfigurationValueFor("db_username"), TagMetroConfiguration::getConfigurationValueFor("db_password"), TagMetroConfiguration::getConfigurationValueFor("db_name"));
$this->connection = new mysqli("localhost", "root", "toor", "testdb");
}
public static function getInstance(){
if(DBUtil::$instance == NULL){
try{
DBUtil::$instance = new DBUtil();
}catch(Exception $ex){
throw new Exception("Unable to create DB Instance");
}
}
return DBUtil::$instance;
}
}
実際、シングルトンのパターンはあまりに複雑すぎますが、それはまったく問題ではありません。シングルトンは使用しないでください。あなたはPHPでそれらを必要としません。あなたのケースでは、データベース接続のグローバル変数だけが必要です。 - しかし、あなたがコピー&ペーストのように感じるなら、[PHPマニュアルにはシングルトンパターンのコード例があります](http://php.net/manual/en/language.oop5.patterns.php#language.oop5.patterns。シングルトン)(これは何かを良くするものではなく、それを使用しないでください)。 [誰がシングルトンを必要としますか?](http://stackoverflow.com/q/4595964/367456) – hakre