单例模式的主要作用是保证在面向对象的编程中,一个类只能有一个实例对象存在。
单例模式在创建目录、数据库连接中应用比较多。而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对象就直接返回该对象,保证了该类最多存在一个对象。
版权声明
本站文章、图片、视频等(除转载外),均采用知识共享署名 4.0 国际许可协议(CC BY-NC-SA 4.0),转载请注明出处、非商业性使用、并且以相同协议共享。
© 空空博客,本文链接:https://www.yeetrack.com/?p=95
近期评论