单例模式的主要作用是保证在面向对象的编程中,一个类只能有一个实例对象存在。
单例模式在创建目录、数据库连接中应用比较多。而php每次访问都是一次独立的过程,单例模式就更为重要。下面是一个简单的例子:
<?php
/**
* 这个类用来展示单例模式
* @author youthflies
*/
class DB
{
private static $obj=null;
private function __construct()
{
echo "连接数据库等过程<br />";
}
static function getInstance()
{
if(is_null(self::$obj))
self::$obj=new self();
return self::$obj;
}
public function query($sql)
{
echo "执行数据库操作: " .$sql . "<br />";
}
}
$db = DB::getInstance();
$db -> query("select username from user where userId=1");
?>
DB类的构造函数被声明为private,只能通过静态函数getInstance来新建对象,getInstance中新建对象时,如果检测到存在的DB对象就直接返回该对象,保证了该类最多存在一个对象。
文章的脚注信息由WordPress的wp-posturl插件自动生成
近期评论