转载请注明作者和出处://www.greatytc.com/p/625636bff086
运行平台: Windows
php版本: php7.0
作者简介: 一个本该成为游戏职业选手却被编程耽误的程序员
单例模式:
很多人都听过,有一个说法,三私一公,只要满足这个特点,那么一般他就是单例模式了
①、私有静态属性,又来储存生成的唯一对象
②、私有构造函数
③、私有克隆函数,防止克隆——clone
④、公共静态方法,用来访问静态属性储存的对象,如果没有对象,则生成此单例
,也就是说,全场只能有一个被实例化的对象,这在数据库连接是经常被用到
//单例
class Singleton{
//创建静态私有的变量保存该类对象
static private $instance;
//参数
private $config;
//防止直接创建对象
private function __construct($config){
$this -> config = $config;
echo "我被实例化了";
}
//防止克隆对象
private function __clone(){
}
static public function getInstance($config){
//判断$instance是否是Singleton的对象
//没有则创建
if (!self::$instance instanceof self) {
self::$instance = new self($config);
}
return self::$instance;
}
public function getName(){
echo $this -> config;
}
}
$db1 = Singleton::getInstance(1);
$db1 -> getName();
echo "<br>";
$db2 = Singleton::getInstance(4);
$db2 -> getName();