一个类,只有一个对象,这就是『单例模式』。
使用场景:数据库连接类,写日志的对象
<?php
class Foo
{
//这个静态属性,用来保存本类对象(那一个唯一的对象)
private static $obj = null;
//构造方法,被私有化了,所以,外面不能直接new本类
private function __construct()
{
//echo '1';
}
//禁止在外面克隆本类对象
private function __clone()
{
// TODO: Implement __clone() method.
}
//禁止在外面反序列化本类对象
private function __wakeup()
{
// TODO: Implement __wakeup() method.
}
//此方法,一定是static的,否则外面无法通过类名调用
public static function make(){
if (self::$obj == null){
self::$obj = new self();
}
return self::$obj;
}
}