本文主要和大家分享php设计模式之单例模式demo,希望能帮助大家更好的学习php单例模式。
<?php/**
* 设计模式之单例模式
* $_instance必须声明为静态的私有变量
* 构造函数和析构函数必须声明为私有,防止外部程序new
* 类从而失去单例模式的意义
* getInstance()方法必须设置为公有的,必须调用此方法
* 以返回实例的一个引用
* ::操作符只能访问静态变量和静态函数
* new对象都会消耗内存
* 使用场景:最常用的地方是数据库连接。
* 使用单例模式生成一个对象后,
* 该对象可以被其它众多对象所使用。
*/class Example{//保存例实例在此属性中
private static $_instance;//构造函数声明为private,防止直接创建对象
public function __construct()
{
//初始的方法
}//单例方法
public static function getInstance()
{
if(!isset(self::$_instance))
{ $c=__CLASS__; self::$_instance=new $c;
} return self::$_instance;
} function test()
{
echo("test");
}
}// 这个写法会出错,因为构造方法被声明为private//$test = new Example;// 下面将得到Example类的单例对象$test = Example::getInstance();$test->test();?><?php/**
* 设计模式之单例模式
* $_instance必须声明为静态的私有变量
* 构造函数和析构函数必须声明为私有,防止外部程序new
* 类从而失去单例模式的意义
* getInstance()方法必须设置为公有的,必须调用此方法
* 以返回实例的一个引用
* ::操作符只能访问静态变量和静态函数
* new对象都会消耗内存
* 使用场景:最常用的地方是数据库连接。
* 使用单例模式生成一个对象后,
* 该对象可以被其它众多对象所使用。
*/class Example{//保存例实例在此属性中
private static $_instance;//构造函数声明为private,防止直接创建对象
public function __construct()
{
//初始的方法
}//单例方法
public static function getInstance()
{
if(!isset(self::$_instance))
{ $c=__CLASS__; self::$_instance=new $c;
} return self::$_instance;
} function test()
{
echo("test");
}
}// 这个写法会出错,因为构造方法被声明为private//$test = new Example;// 下面将得到Example类的单例对象$test = Example::getInstance();$test->test();?>相关推荐:
立即学习“PHP免费学习笔记(深入)”;
以上就是PHP单例模式demo详解的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号