欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

面向对象程序的设计模式-单例模式

程序员文章站 2022-10-04 23:21:05
单利模式的核心点在于只能生成1个对象,并且是由类中的静态变量保存。以下代码来自《深入PHP 面向对象、模式与实践》(第三版)第9章/** * Created by PhpStorm. * User: Eilen * Date: 2018/8/31 * Time: 22:48 */class Pref ......
单利模式的核心点在于只能生成1个对象,并且是由类中的静态变量保存。

以下代码来自《深入php 面向对象、模式与实践》(第三版)第9章

/**
* created by phpstorm.
* user: eilen
* date: 2018/8/31
* time: 22:48
*/

class preferences
{
private $props = array();
private static $instance;

private function __construct(){}

/**
* 获取单例模式对象
* @return mixed
*/
public static function getinstance()
{
if (empty(self::$instance)){
self::$instance = new preferences();
}
return self::$instance;
}

/**
* 接收对象的参数,并且赋值
* @param $key
* @param $val
*/
public function setproperty($key, $val)
{
$this->props[$key] = $val;
}

public function getproperty($key)
{
return $this->props[$key];
}
}
//引用单例模式
$pref = preferences::getinstance();
$pref->setproperty('name', 'matt');

unset($pref);

$pref2 = preferences::getinstance();
print $pref2->getproperty('name');