Home  >  Article  >  Backend Development  >  How to implement monomorphic design pattern in php

How to implement monomorphic design pattern in php

墨辰丷
墨辰丷Original
2018-05-18 17:19:401387browse

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 details are as follows:

The monomorphic design pattern usually includes the following three points:

· A private constructor; (Ensure that users cannot create objects for it Instantiation)
· 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 write a monomorphic design pattern, you must have a A class can only instantiate one object, and if you want a class to be able to instantiate only one object, you must first prevent a class from instantiating objects

Related recommendations:

php implements Monomorphic design pattern Simple method to share

php Monomorphic design pattern (single case mode) example

A brief analysis of phpMonomorphic design patternUnderstanding of the singleton pattern

The above is the detailed content of How 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