本文实例讲述了php设计模式之单例模式用法。分享给大家供大家参考,具体如下:
<?php /** * @desc 单例模式 * 目的:防止过多的new对象和clone对象,没有对象的时候new对象并缓存,始终保持都是同一个对象实例 * 特点:php的单例是进程中的单例,而不像java属于内存中的单例 * **/ class single{ protected static $ins = null;//声明一个静态变量,用来存储类的实例 private $name;//声明一个私有的实例变量 /** * 私有化构造方法,防止不断的创建对象 * **/ private function __construct(){ } public static function getIns(){ if(self::$ins===null){ self::$ins = new self(); } return self::$ins; } public function setName($name){ $this->name = $name; } public function getName(){ return $this->name; } } $single1 = single::getIns(); $single2 = single::getIns(); $single1->setName('hello world!'); $single2->setName('hello php!'); echo $single1->getName();//输出结果:hello php! echo "<br/>": echo $single2->getName();//输出结果:hello php! /*** * 分析:输出的结果都是hello php! * 采用了单例模式对象$single1与$single2是等价的,因此对象$single1与$single2都在设置类的变量时指向都是一致的,变量值取对象设置的最新的一个值 * **/
运行结果:
hello php!
hello php!
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。