Home  >  Article  >  Backend Development  >  Sharing a simple method to implement monomorphic design pattern in PHP

Sharing a simple method to implement monomorphic design pattern in PHP

黄舟
黄舟Original
2017-07-30 09:20:451168browse

This article mainly introduces the method of simple implementation of monomorphic design pattern in PHP, and briefly analyzes the composition, implementation and use of monomorphic design pattern. Friends in need can refer to it

The examples in this article are described A simple way to implement the monomorphic design pattern in PHP. Share it with everyone for your reference, as follows:

Monomorphic design pattern usually includes the following three points:

· A private constructor; (Ensure that users cannot create objects through It is instantiated)
· A public static method; (responsible for instantiating itself)
· A private static property; (used to save the only instantiated object)


<?php
class singleTon{
    //用于保存仅有的一个实例化对象
    private static $Instance=NULL;
    //构造方法 使用private 封装后 则只能在类的内部使用new去创建对象
    private function __construct(){};
    //只有通过这个方法才能返回本类中的对象,该方法是静态方法 用类名调用
    public static getInstance(){
       if(self::$Instance instanceof self){ //如果本类中的$Instance为空,说明还没有被实例化过
         self::$Instance=new singleTon(); //实例化本对象
       }
       return self::$Instance;
    }
}
$instance=singleTon::getInstance(); //只能使用静态方法getInstance()去获取singleTon类的对象
?>

The so-called monomorphic design pattern is that a class can only produce/create only one object

To To write a monomorphic design pattern, you must make a class can only instantiate one object. If you want a class to be able to instantiate only one object, you must first make a class unable to instantiate objects

The above is the detailed content of Sharing a simple method to implement monomorphic design pattern in PHP. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn