0
一度インスタンス化できるクラスを作成しようとしています。シングルトンパターンでインスタンスが1つしか作成されないことを確認できません
$ins1,$ins4,$ins3
は、静的変数$ instanceがすでに定義されている場合、何度も何度も返されるように作成されます。私は
$ins4==$ins5
を使用keyword.When new
で作成され$ins4,$ins5
$ins1==$ins4 returns true
インスタンスは、それはまた、トゥーレを返しました。 どのように私は、唯一のインスタンスが作成されることを確認することができますprotected
またはprivate
、そうでなければ、誰もがそれを呼び出すことができますあなたはコンストラクタを作成する必要があり
<?php
class Singleton{
private static $instance;
public static function getInstance(){
if(!self::$instance){
echo " I AM THE FIRST INSTANCE and i am not from bypass<br>";
self::$instance = new Singleton();
return self::$instance;
}else{
echo "i am from bypass<br>";
return self::$instance;
}
}
}
$ins1 = Singleton::getInstance();
$ins2 = Singleton::getInstance();
echo $ins1==$ins2;
echo '<br>';
$ins3 = Singleton::getInstance();
$ins4 = new Singleton();
$ins5 = new Singleton();
echo $ins4 == $ins5;
?>