主要解决一个全局的类被频繁创建和销毁对象。
<?php
/**
* Created by PhpStorm.
* User: lengshengren
* Date: 2017/10/30
* Time: 下午10:38
* $_instance 必须声明静态的私有变量
* 设置构造函数为私有函数,防止外部直接创建对象
* getInstance 必须为公有变量
* ::操作只能访问静态变量和静态函数
* new对象都会消耗内存
* 使用场景:最常用的地方是数据库连接。
* 使用单例模式生成一个对象后,
* 该对象可以被其它众多对象所使用。
*
*/
class dog
{
//保存实例
private static $_instance;
//构造函数
public function __construct()
{
}
//单利方法
public static function get_instance() {
if (!isset(self::$_instance)) {
self::$_instance = new self();
}
return self::$_instance;
}
//防止其他人负责对象实例
private function __clone() {
//函数创建用户级别的错误消息。
trigger_error('clone not allow',E_USER_ERROR);
}
function dogSay() {
echo 'wang wang';
}
}
$dog = dog::get_instance();
$dog->dogSay();