最近在开始一些小项目,接触到单利模式,本着定义类的时候,尽可能的隐藏信息的原则,我对类进行了以下的编写
class openGate{
private $dbname='mysql:host=localhost;dbname=project';
private $username='root';
private $password='root';
private static $key=null;
private function __construct(){}
private function __clone(){}
public static function gateKey(){
if (self::$key==null) {
self::$key=new openGate();
return self::$key->gateWay();
}
return self::$key->gateway();
}
public function gateWay(){
return new PDO($this->dbname,$this->username,$this->password);
}
}
$person=openGate::gateKey();
var_dump($person);
请问一下,这样和以下相比
DM建站系统汽车保养维修HTML5网站模板,DM企业建站系统。是由php+mysql开发的一套专门用于中小企业网站建设的开源cms。DM系统的理念就是组装,把模板和区块组装起来,产生不同的网站效果。可以用来快速建设一个响应式的企业网站( PC,手机,微信都可以访问)。后台操作简单,维护方便。DM企业建站系统安装步骤:第一步,先用phpmyadmin导入sql文件。 第二步:把文件放到你的本地服务器
class openGate{
private static $key=null;
private function __construct(){}
private function __clone(){}
public static function gateKey(){
if (self::$key==null) {
$dbname='mysql:host=localhost;dbname=project';
$username='root';
$password='root';
return self::$key=new PDO($dbname,$username,$password);
}
return self::$key;
}
}
$person=openGate::gateKey();
var_dump($person);
有哪些优缺点,或者是只是单纯的多余呢?
回复内容:
最近在开始一些小项目,接触到单利模式,本着定义类的时候,尽可能的隐藏信息的原则,我对类进行了以下的编写
class openGate{
private $dbname='mysql:host=localhost;dbname=project';
private $username='root';
private $password='root';
private static $key=null;
private function __construct(){}
private function __clone(){}
public static function gateKey(){
if (self::$key==null) {
self::$key=new openGate();
return self::$key->gateWay();
}
return self::$key->gateway();
}
public function gateWay(){
return new PDO($this->dbname,$this->username,$this->password);
}
}
$person=openGate::gateKey();
var_dump($person);
请问一下,这样和以下相比
class openGate{
private static $key=null;
private function __construct(){}
private function __clone(){}
public static function gateKey(){
if (self::$key==null) {
$dbname='mysql:host=localhost;dbname=project';
$username='root';
$password='root';
return self::$key=new PDO($dbname,$username,$password);
}
return self::$key;
}
}
$person=openGate::gateKey();
var_dump($person);
有哪些优缺点,或者是只是单纯的多余呢?
你的改动,跟单例模式没有半毛钱关系









