首页 > 编程知识 正文

php单例模式应用场景,php单例模式例子

时间:2023-05-05 14:03:53 阅读:220470 作者:1561

今天开始,鲤鱼蜗牛将开始进行PHP设计模式的学习,首先学习最简单且常用的单例模式!!!

什么是单例模式

单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。

为什么使用单例模式呢 使用单例模式可以避免大量的new操作。因为每一次new操作都会消耗系统和内存的资源。
单例模式特点(三私一公) 私有的构造方法 (防止类外实例化)
私有的克隆方法 (防止通过克隆生成对象)
私有的静态属性 (保存类的实例)
公有的静态方法 (调取这个类相当一个接口 )
代码实例 不能被继承final class single{// 定义一个私有属性,在构造方法中显示private $random;// 定义一个静态私有属性,为的是实例化后赋值给objstatic private $obj;// 构造方法中random判断实例化的次数,并可进行比较private function __construct(){return $this->random=rand(1,999999999);}static public function getins(){// instanceof判断对象是否实例化if(self::$obj instanceof single){return self::$obj;}else{return self::$obj = new single();}}// final类防止被克隆后实例化类被重写// public function __clone(){// echo "单例模式失败";// }private function __clone(){echo "单例模式失败";}}// 调用静态方法getins()验证实例化次数$sing = single::getins();$sings= single::getins();var_dump($sing);echo "
";var_dump($sings);echo "
";// 检测是否只实例化过一次(验证该类只有一个实例);if($sing == $sings){echo "单例模式成功";}else{echo "单例模式失败";}?>

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。