PHP 面向对象之单例模式-有些类也需要计划生育
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PHP 面向对象之单例模式-有些类也需要计划生育,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1305字,纯文字阅读大概需要2分钟。
内容图文
一个类只有一个实例对象
1、含义
作为对象的创建模式,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统全局的提供这个实例。它不会创建实例副本,而是会向单例类内部存储的实例返回一个引用。
2、单例模式的三个要点
1)、一个类的唯一实例的静态成员变量:
private static $instance;
2)、构造函数和克隆函数必须声明为私有的,防止外部程序new类从而失去单例模式的意义:
private function __construct()
{
}
private function __clone()
{
}
3)、必须提供提供一个访问这个实例的公共的静态方法(一般为getInstance方法),从而返回唯一实例的一个引用:
public static function getInstance()
{
if (static::$instance == null) //或者 if (!(self::$_instance instanceof self))
{
static::$instance == new Self();
}
return static::$instance;
}
测试demo:
<?php
class Singleton
{
private static $instance;
private function __construct(){}
public static function getInstance()
{
if (static::$instance == null)
{
static::$instance == new Singleton();
}
return static::$instance;
}
}
//客户端代码
$s1 = Singleton::getInstance();
$s2 = Singleton::getInstance();
if ($s1 == $2)
{
echo "same class";
}
总结:
单例模式,保证一个类仅有一个实例,并提供一个访问它的全局访问点。使用单例模式可以避免大量的new操作,因为每一次new操作都会消耗系统和内存的资源。
单例模式因为Singleton类封装它的唯一实例,这样它可以严格的控制客户怎样访问以及何时访问它,简单来说就是对唯一实例的受控访问。
内容总结
以上是互联网集市为您收集整理的PHP 面向对象之单例模式-有些类也需要计划生育全部内容,希望文章能够帮你解决PHP 面向对象之单例模式-有些类也需要计划生育所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。