控制 PHP 类的实例化次数!
Jun 08, 2016 pm 05:31 PM控制 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 来实例化!

Hot Article

Hot tools Tags

Hot Article

Hot Article Tags

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Huawei Watch GT 5 smartwatch gets update with new features

Tekken\'s Colonel Sanders dream fried by KFC

Samsung Galaxy Z Fold Special Edition revealed to land in late October as conflicting name emerges

First look: Leaked unboxing video of upcoming Anker Zolo 4-port 140W wall charger with display

New Xiaomi Mijia Graphene Oil Heater with HyperOS arrives

Cybertruck FSD reviews praise quick lane switching and full-screen visualizations

Garmin releases Adventure Racing activity improvements for multiple smartwatches via new update

Manjaro 24.1 \'Xahea\' launches with KDE Plasma 6.1.5, VirtualBox 7.1, and more
