单例模式的主要作用是保证在面向对象的编程中,一个类只能有一个实例对象存在。
单例模式在创建目录、数据库连接中应用比较多。而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
近期评论