在实际开发中,采用单例子模式用的很多,比如链接数据库操作,日志处理类等操作都可以采用单例模式。
单例模式其实就是一个类只能拥有一个类的实例,那么如何才能达到这个效果呢?我们在编写类的时候需要满足3个条件既可以达到单例模式效果:
一、构造函数必须申明为非public类型,这样其他地方就不能通过new来产生实例,这样也能避免产生多个类的实例
二、类中需要有一个能保存类的实例的静态成员变量,如 $_instance;
三、拥有一个访问这个实例的公共的静态方法,如 getInstance();
<?php class Test { static private $_instance ; private function __construct() { } static public function getInstance() { if (!(self:: $_instance instanceof self)) { self:: $_instance = new self(); } return self:: $_instance ; } } |