PHP中的单实例类在保存内存中仍然有意义。

第1类,单实例类本身:


类使用{
私有静态实例;
公共函数获取(){
如果(!自:$实例){
自:美元=新的利用实例:();
}
返回::$实例;
}
公开$ = 10;
公共功能更改($){
$;
}
公共功能getnum(){
返回$这个数字;
}
}




第2类,使用前面提到的单实例类的应用程序类:


类单片{
私人numinst美元;
功能__construct(){
美元-> numinst =利用::得到();
}
公共功能更改($){
这numinst美元-> ->变化(美元数);
}
公共功能getnum(){
返回numinst美元-> -> getnum();
}
}




第3类,类似2:


类singleb {
私人numinst美元;
功能__construct(){
美元-> numinst =利用::得到();
}
公共功能更改($){
这numinst美元-> ->变化(美元数);
}
公共功能getnum(){
返回numinst美元-> -> getnum();
}
}




最后一个地方是要打电话的地方:


安装新的单片美元=();
为安装->改变(100);
var_dump('singlea改变:');
var_dump($安装-> getnum());
instb美元=新singleb();
instb美元->改变(510);
var_dump('singleb改变:');
var_dump($ instb -> getnum());




最终显示结果:


string'singlea改变:(长度= 17)
int110
string'singleb改变:(长度= 17)
int-400