单元素模式(Singleton Pattern)指的是在应用程序的范围内只对指定的类创建一个实例。单元素模式包含的对象只有一个,就是单元素本身。
单元素模式能够确保某个类只生成一个实例对象,通常该模式中包含一个私有构造方法,用来确保用户无法通过创建对象或者克隆的方式对其进行实例化。除此之外,该模式中还包含一个私有静态属性与公有静态方法。公有静态方法负责对其本身实例化,然后将这个对象存储在私有静态属性中,用来确保只有一个实例被创建。
下面通过一个单元素模式的实例来说明单元素模式的原理,代码如下:
<?php class Singleton{ private static$instance=null; //私有静态属性instance private function__construct(){} //私有构造方法__construct() public static function getInstance(){ //公有静态方法getInstance() if(self::$instance==null){ //确保只有一个实例被创建 return new Singleton(); } return self::$instance; } public function printString(){ //公有成员方法printString() echo"三扬科技"; } } $class=Singleton::getInstance(); //获取单元素 $class->printString(); ?>
在上述代码中,私有构造方法__construct()用来确保Singleton类无法通过创建对象或者克隆的方式对其进行实例化,所以Singleton类只能通过公有静态方法getInstance()生成一个该类的实例并且存储在私有静态属性$instance中,此关系可以用下图表示。
运行单元素模式的示例代码后,将得到如下图运行结果。
以上是我们在网站开发过程中遇到的PHP设计模式。
更多精彩文章请搜索 郑州君网科技 !