php简单实现单态设计模式的方法分析

yipeiwu_com6年前PHP代码库

本文实例讲述了php简单实现单态设计模式的方法。分享给大家供大家参考,具体如下:

单态设计模式通常包含以下三点:

· 一个私有的 构造方法;(确保用户无法通过创建对象对其进行实例化)
· 一个公有的 静态的 方法;(负责对其本身进行实例化)
· 一个私有的 静态的 属性;(用于保存仅有的一个实例化对象)

<?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类的对象
?>

所谓的单态设计模式就是一个类只能产生/创建唯一一个对象

要编写单态设计模式,就必须让一个类只能实例化一个对象,而要想让一个类只能实例化一个对象,就要先让一个类不能实例化对象

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《PHP基本语法入门教程》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

基于php实现长连接的方法与注意事项的问题

php可以通过set_time_limit(0);来取消php脚步超时限制,从而达到长连接的效果。 例子代码如下:复制代码 代码如下:<?php echo "每隔3秒输出一次<...

PHP preg_match实现正则表达式匹配功能【输出是否匹配及匹配值】

本文实例讲述了PHP preg_match实现正则表达式匹配功能。分享给大家供大家参考,具体如下: preg_match — 执行一个正则表达式匹配 preg_match ( $patt...

php 生成签名及验证签名详解

php 生成签名及验证签名 <?php  /** * 根据原文生成签名内容 * * @param string $data 原文内容 *...

PHP 查找字符串常用函数介绍

一、strstr — 查找字符串的首次出现 string strstr ( string $haystack , mixed $needle [, bool $before_needle...

PHP实现数组递归转义的方法

本文以实例形式讲述了PHP实现数组递归转义的方法,分享给大家供大家参考之用。具体方法如下: 主要功能代码如下: $arr = array('a"aa',array("c'd",arr...