最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
控制 PHP 类的实例化次数!
时间:2008-04-24 编辑:简简单单 来源:一聚教程网
控制 php 类的实例化次数!为了保证服务器资源的有效利用,而且一个类比方说模板啊,数据库什么的,在一个页面内只需要实例化一次!也就是在内存中只运行一个实例!那么为了避免重复实例化,那么控制 php 类的实例化次数,是很有必要的!方法其实很简单:就是给类一个外部接口,私有化(private)构造函数,抛弃可以在类外部使用new实例化该类的方法!以下,就是我给出的一个例子,相信大家一看就明白了!( PHP5 以上版本! )
class test{
const name = ''test'';
public static $havenew = false;
public $name = ''我被限制为只能实例化一次了!'';
private function __construct(){
}
function __destruct(){
self::$havenew = false;
}
public function inter(){
if(self::$havenew){
echo ''类 ''.self::name.'' 已被实例化!'';
return NULL;
}else{
self::$havenew = true;
return new self;
}
}
}
$class1 = test::inter();
var_dump($class1);
echo ''
'';
$class2 = test::inter();
var_dump($class2);
?>
这里都是实例通过test里inter()这个方法实例化对象的!因为构造本身不可以直接访问,所以也不存在可以使用new 来实例化!
相关文章
- PHP父类调用子类方法实例 11-05
- php统计图形LIbchart类使用实例 10-29
- php类的使用实例教程 08-25
- PHP导出数据超时的优化建议解读 10-31
- PHP之mysql位运算解析 10-31
- Laravel实现登录跳转功能解析 10-31