PHP常用的三种设计模式

 更新时间:2017年02月17日 11:19:02   作者:范特西的麦田  
本文为大家介绍常用的三种php设计模式:单例模式、工厂模式、观察者模式,具有很好的参考价值,下面跟着小编一起来看下吧

一、首先来看,单例模式

所谓单例模式,即在应用程序中只会有这个类的一个实例存在。

通常单例模式用在仅允许数据库访问对象的实例中,从而防止打开多个数据库连接。

一个单例类应包括以下几点:

和普通类不同,单例类不能被直接实例化,只能是由自身实例化。因此,要获得这样的限制效果,构造函数必须标记为private。

要让单例类不被直接实例化而能起到作用,就必须为其提供这样的一个实例。因此,就必须要让单例类拥有一个能保存类的实例的私有静态成员变量和对应的一个能访问到实例的公共静态方法。

在PHP中,为防止对单例类对象的克隆来打破单例类的上述实现形式,通常还为基提供一个空的私有__clone()方法。

单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。

单例模式是一种常见的设计模式,在计算机系统中,线程池、缓存、日志对象、对话框、打印机、数据库操作、显卡的驱动程序常被设计成单例。

单例模式分3种:懒汉式单例、饿汉式单例、登记式单例。

单例模式有以下3个特点:

1.只能有一个实例。

2.必须自行创建这个实例。

3.必须给其他对象提供这一实例。

那么为什么要使用PHP单例模式?

PHP一个主要应用场合就是应用程序与数据库打交道的场景,在一个应用中会存在大量的数据库操作,针对数据库句柄连接数据库的行为,使用单例模式可以避免大量的new操作。因为每一次new操作都会消耗系统和内存的资源。

在以往的项目开发中,没使用单例模式前的情况如下:未完....

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!

相关文章

  • php实现点击可刷新验证码

    php实现点击可刷新验证码

    这篇文章主要介绍了php如何实现点击即可刷新验证码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2015-11-11
  • php类常量用法实例分析

    php类常量用法实例分析

    这篇文章主要介绍了php类常量用法,实例分析了php中类常量的概念、特性与相关使用技巧,需要的朋友可以参考下
    2015-07-07
  • php如何调用webservice应用介绍

    php如何调用webservice应用介绍

    Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级通讯技术,接下来将详细介绍php如何调用webservice,需要的朋友可以了解下
    2012-11-11
  • 深入apache host的配置详解

    深入apache host的配置详解

    本篇文章是对apache host的配置进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • PHP中empty,isset,is_null用法和区别

    PHP中empty,isset,is_null用法和区别

    最近在阅读项目的源码,发现源码中就对empty、isset和is_null函数(语言特性)乱用,有的地方很明显的就挖坑了。不能正确的去理解这些东西,就很可能给后续的开发挖坑了。
    2017-02-02
  • 探讨:如何编写PHP扩展

    探讨:如何编写PHP扩展

    本篇文章是对如何编写PHP扩展进行了详细的分析介绍, 需要的朋友参考下
    2013-06-06
  • 在数据量大(超过10万)的情况下

    在数据量大(超过10万)的情况下

    在数据量大(超过10万)的情况下...
    2007-01-01
  • 深入PHP FTP类的详解

    深入PHP FTP类的详解

    本篇文章是对PHP的FTP类进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • PHP实现文件上传和下载的示例代码

    PHP实现文件上传和下载的示例代码

    这篇文章主要为大家详细介绍了PHP如何实现文件上传与下载功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • 关于php正则匹配汉字的方法介绍

    关于php正则匹配汉字的方法介绍

    本篇文章描述了,关于php正则匹配汉字的介绍。需要的朋友参考下
    2013-04-04

最新评论