单例模式: 三私一公,四个字很好的概括了其主要构成.
私有的静态属性:保存对象实例
私有的构造方法:防止直接使用new类创建对象使得单例模式失去意义
私有的克隆方法:阻止用户克隆对象实例
公共的单例方法:提供单例的对象
code:
<?php
// PHP设计模式之单例模式
class instance
{
private static $_instance;
private function __construct()
{
}
public static function get_singleton()
{
if (!isset(self::$_instance)) {
self::$_instance = new self();
}
return self::$_instance;
}
private function __clone()
{
trigger_error('Clone is not allow', E_USER_ERROR);
}
// 测试用的方法
public function test()
{
echo 'test';
}
}
?>
好啦,一个单例模式就这么多,里面的比如self,在类中代表就是这个类,在类中可以使用self::来访问静态属性,还有一个trigger_error()这个函数,大家可以查
一下手册就知道是什么意思了
熟能生巧,大家看一遍可能还不太理解,可以多敲几遍,就理解了,我就是自己敲了3到4遍掌握的.