单例模式主要使用于数据库的连接, 确保数据库一个类只有一个实例, 并且向整个系统提供这个实例。从而避免new操作消耗资源, 同时避免数据库出现too many connection信息.
要点有三个: 1. 必须只有一个实例。 2. 必须自动创建这个实例。 3. 必须向整个系统提供这个实例。
<br /><?<br /> class mysql{<br /> privete static $instance ;//保存实例<br /> //构造函数声明为private, 防止直接创建对象<br /> privete function __construct(){<br /> // 实例化<br /> }<br /> //单例方法, 判断是否已经实例化,只实例化一次<br /> public static function getInstance (){<br /> if(!isset( self::$instance )){<br /> self ::$instance = new self();<br /> }<br /> return self:: $instance;<br /> }<br /> //防止克隆对象<br /> private function __clone <i style="color:transparent">本#文来源gaodai$ma#com搞$$代**码网$</i><button>搞代gaodaima码</button>(){<br /> trigger_error ("not allow to clone.");<br /> }<br /> function test(){<br /> echo "test" ;<br /> }<br /> }<br /> $conn = mysql::getInstance ();<br /> $conn->test ();<br />?><br />