首页 > 编程 > PHP > 正文

PHP中的单例只在整个页面周期内唯一

2020-03-24 19:19:58
字体:
来源:转载
供稿:网友
单例模式的存在在一些情况下是比较有意义的,如BlogEngine的站点配置就是采用的单例模式,而且它的载入和保存的代码是相当经典的,有兴趣可以看看它的源代码。由于asp.net是编译型的,所以单例一直会存在于这个html' target='_blank'>应用程序的生命周期里,真正可以做到这个实例在应用程序生命周期中的唯一性。php的单例模式的实现大致如下:class Stat{
static $instance = NULL;
static function getInstance(){
if(self::$instance == NULL){
self::$instance = new Stat();
}
return self::$instance;
}

private function __construct(){
}

private function __clone(){
}
function sayHi(){
return The Class is saying hi to u
}
}
echo Stat::getInstance()- sayHi();
class Stat{
static $instance = NULL;
static function getInstance(){
if(self::$instance == NULL){
self::$instance = new Stat();
}
return self::$instance;
}
private function __construct(){
}

private function __clone(){
}
function sayHi(){
return The Class is saying hi to u
}
}
echo Stat::getInstance()- sayHi();但,PHP是一种解释型的语言,在这里用单例好像看不出实际的用处,一旦整个页面执行完,变量也就消失了。static function getInstance(){
if(self::$instance == NULL){
self::$instance = new Stat(); //这里随着页面的重载会再次执行
}
return self::$instance;
}
static function getInstance(){
if(self::$instance == NULL){
self::$instance = new Stat(); //这里随着页面的重载会再次执行
}
return self::$instance;
}我接触PHP时间不长,以上写出来的只是在C#与PHP二种不同语言环境下对单例模式的认知,也许这个例子只是为了说明模式可以用很多种语言来实现,但并不意味着在各种语言环境下都能真正起作用。asp.net中的单例是在整个应用程序域唯一。PHP中的单例只在整个页面周期内唯一html教程

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表