單利模式的核心點在於只能生成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');