PHP单例的一种简单实现方法

PHP单例的一种简单实现方法


< PHP


*设计模式单一模式
* $ _instance必须声明为静态私有变量
*构造函数和析构函数必须声明为私有的,防止外部程序新
*类因此失去了单一模式的意义。
* getInstance()方法必须设置为公共的,这个方法必须调用
*返回对实例的引用
*:操作员只能访问静态和静态函数。
*新对象消耗内存
*使用场景:最常见的地方是数据库连接。
*在使用单一模式生成对象之后,
*这个对象可以被许多其他对象使用。
* /
Class Example
{
此属性保存中的一个示例
私有静态_instance美元;

构造函数被声明为私有,直接阻止和创建对象。
私有函数__construct()
{
echo'i是construceted;
}

单例法
公共静态函数单例()
{
如果(!isset(自::$ _instance))
{
C = __class__美元;
自::_instance美元=新的$ C;
}
回归自我::_instance美元;
}

停止用户复制对象实例
公共功能__clone()
{
trigger_error('clone是不允许的,e_user_error);
}

功能测试()
{
回声(测试);

}
}

这样的写作方式是错误的,因为构建方法被声明为私有的。
$ =新示例;

下面将是单例类示例
$ =示例::单例();
$测试>测试();

/ /复制对象将导致e_user_error。
test_clone美元美元=克隆试验;
>


首先,我们需要知道单一案例模式的概念,什么是单一模式

单个示例只有一个实例,顾名思义。

作为一个对象的创建模式,单实例模式确保一个类只有一个实例,它被实例化并单独提供给整个系统,

这个类我们称为一个类。

单案模式有三个要点:

一个是只有一个类的实例。

二是它必须自己创建这个实例;

三是它必须向整个系统本身提供这个示例。

我们为什么讨论PHP单例模式的使用

大多数人都是从字面上理解它的使用方式,认为这是为了节约系统资源,避免重复实例化,是一种计划生育。虽然每次从内存中执行PHP页面以删除所有资源。因此,PHP操作的每一个实例都需要实例化,从而失去了一个重复意义的实例化实例。只有这样,一位PHP才感到失望。但是,只有一个函数和应用的答案是否定的,让我们来看看。

1的应用。PHP主要是数据库的应用,因此在应用程序中会有大量的数据库操作。当以面向对象的方式开发时,如果使用单例模式,则可以避免新操作所消耗的大量资源。

2、如果系统中有一个类需要全局控制某些配置信息,则可以方便地实现单例模式。这可以在Zend框架FrontController部分看到的。

3、在页面请求中很容易调试,因为所有代码(如数据库操作类DB)都集中在一个类中。我们可以设置钩子和类输出日志,以免到处var_dump和回声。



上述PHP单例模式是实现简单分享的全部内容,小编的,希望能给大家一个参考,我希望你能有多大的支持。