有没有大神能够解释一下
class User { //静态变量保存全局实例 private static $_instance = null; //私有构造函数,防止外界实例化对象 private function __construct() { } //静态方法,单例统一访问入口 static public function getInstance() { if (is_null ( self::$_instance ) || isset ( self::$_instance )) { self::$_instance = new self (); } return self::$_instance; } }
使用单例模式可以避免大量的new操作。因为每一次new操作都会消耗系统和内存的资源。
首先将构造函数私有化(也就是无法实例化对象),必须 $user = User::getInstance() 来实例化对象,如果之前实例化过就直接return