<?php
//单例模式:即建立一个模板(类),在实例化对象后不管实例化几次都只是一个对象,不会再创建新的对象,这样大大提高了PHP程序的性能。三私一公的模式,即对外提供一个接口,判断是否已实例化
class Cat
{
public $name;
//创建一个私有的静态属性判断是否已实例化
private static $instance =0;
//一个私有的构造函数,避免在外面可以使用构造函数实例化对象
private function __CONSTRUCT($name)
{
$this->name = $name;
}
//一个私有的克隆函数,避免被克隆
private function __clone(){}
//一个公有的函数接口
public static function getSingleton()
{
//判断这个对象是否实例化及是否是这个类的
if(!self::instance instance of self)
{
self::instance = new Cat($name);
}
//返回这个对象
return self::instance;
}
}
//在类外通过调用公有函数创建对象
$cat = Cat::getSingleton('TOM');