单例模式-身份证号码
单例类IdentityCardNo(身份证号码类);
class IdentityCardNo{
private static $instance = null;
private $no;
function __construct() {
}
public function getInstance() {
if (self::$instance == null) {
echo '第一次办理身份证,分配新号码!';
self::$instance = new IdentityCardNo();
self::$instance->setIdentityCardNo('No123456');
} else
{
echo '重复办理,获取旧号码!';
}
return self::$instance;
}
private function setIdentityCardNo($No) {
$this->no = $No;
}
public function getsetIdentityCardNo() {
return $this->no;
}
}
辅助代码
$no1 = new IdentityCardNo();
$no2 = new IdentityCardNo();
$no1 =$no1->getInstance();
echo '<br>';
$no2 =$no2->getInstance();
echo '<br>';
echo '身份证号码是否一致:';echo $no1 == $no2?'true':'false';
$str1 = $no1->getsetIdentityCardNo();
$str2 = $no2->getsetIdentityCardNo();
echo '<br>';
echo '第一次号码:'.$str1;
echo '<br>';
echo '第二次号码:'.$str2;
echo '<br>';
echo '是否相同对象:'; echo $str1 === $str2?'true':'false';
第一次办理身份证,分配新号码!
重复办理,获取旧号码!
身份证号码是否一致:true
第一次号码:No123456
第二次号码:No123456
是否相同对象:true