引言
假设一个项目,有日志操作类,有数据库操作类,甚至还有全局配置类。无意中造成了类似$obj1 = new A(), $obj2 = new A()....一次执行周期造成了对一个类的多次对象实例化。对象实例化出来是要占用资源的,所以单例模式(Singleton),就在此引申出来
单例模式的定义
-
保证一个类仅有一个实例,并提供一个访问它的全局访问点
代码范例
<?php
<?php
class Singleton
{
//静态变量保存全局实例
private static $_instance = null;
// http://www.manongjc.com/article/1633.html
//私有构造函数,防止外界实例化对象
private function __construct()
{
}
//私有构造函数,防止外界实例化对象
private function __clone()
{
}
//静态方法,单例统一访问入口
static public function getInstance()
{
//全局实例已经存在,直接返回,否则new创建实例
if(is_null( self::$_instance) || isset( self::$_instance)) {
self::$_instance = new self();
}
return self::$_instance;
}
public function display()
{
echo \"2333\";
}
}
$obj = Singleton::getInstance();
//new Singleton();
//$obj2 = clone $obj;
$obj->display(); 继续阅读与本文标签相同的文章
上一篇 :
Gartner发布:十大无线技术发展趋势
下一篇 :
作为一个程序员,你真的需要微服务吗?
-
喜马拉雅用户破6亿 活跃用户日均收听时间超170分钟
2026-05-15栏目: 教程
-
杭州大数据入门书籍
2026-05-15栏目: 教程
-
PDF怎么转换成Word?这些技巧你都知道吗
2026-05-15栏目: 教程
-
SCADA项目在化工行业打造数字化工厂中的应用
2026-05-15栏目: 教程
-
Gartner研究数据:Fortinet是全球Top3 SD-WAN解决方案供应商
2026-05-15栏目: 教程
