控制 PHP 类的实例化次数!
控制 php 类的实例化次数!为了保证服务器资源的有效利用,而且一个类比方说模板啊,数据库什么的,在一个页面内只需要实例化一次!也就是在内存中只运行一个实例!那么为了避免重复实例化,那么控制 php 类的实例化次数,是很有必要的!方法其实很简单:就是给类一个外部接口,私有化(private)构造函数,抛弃可以在类外部使用new实例化该类的方法!以下,就是我给出的一个例子,相信大家一看就明白了!( PHP5 以上版本! )
<?php 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 '<br />'; $class2 = test::inter(); var_dump($class2);
本文链接:http://www.phprm.com/code/2003000b0518e07dd97e3d102ba65a82.html
收藏随意^^请保留教程地址.