PHP设计模式——单例模式

来源:互联网 发布:c语言定义函数并调用 编辑:程序博客网 时间:2024/04/29 00:34

单例模式就是保证一个类仅有一个实例,并提供一个访问它的全局访问点。通常我们可以让一个全局变量使得一个对象被访问,但是不能防止你实例化多个变量,一个最好的办法就是让类自身负责保存它的唯一实例,这个类可以保证没有其它实例可被创建,并且他可以提供一个访问该实例的方法。

下面提供两种单例模式的例子:

例1:

class loadClass{private static $classArr = array();public function load($className, $filePath){if(!isset(self::$classArr[$className])){require_once($filePath.'/'.$className.'.php');self::$classArr[$className] = new $className;}return self::$classArr[$className];}} 

例2:

//另外一种单例模式,保证类不能在外部实例化,只能在类自身内部实例化class singleton{private static $obj;private function __construct(){//构造方法私有化,保证类不能在外部被实例化}//静态方法保证方法在类的外部可被调用public static function getInstance(){if(!isset(self::$obj)){self::$obj = new singleton();}return self::$obj;}}

也可以把这两种结合起来用更好哈



0 0
原创粉丝点击