今天就跟大家聊聊有关怎么在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项目中使用单例模式有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。