* 注册树:其实就是创建一个对象集,也叫对象池,是用数组来进行存储的
//先声明三个类,一会丢进对象树上中
class Demo1 {} class Demo2 {} class Demo3 {}
//声明对象注册树类
class Register { //静态属性中保存着所有已经挂载到树上的对象 public static $objs = []; //将对象挂载到树上 public static function set($index,$obj) { self::$objs[$index] = $obj; } //取出对象使用 public static function get($index) { return self::$objs[$index]; } //已经无效的对象,及时销毁,节省资源 public static function del($index) { unset(self::$objs[$index]); } }
//先将三个类实例化后挂载到对象树上
Register::set('demo1',new Demo1); Register::set('demo2',new Demo2); Register::set('demo3',new Demo3);
//检测是否上树?
var_dump(Register::$objs); echo '<hr>'; echo '<pre class="brush:php;toolbar:false">'.print_r(Register::$objs,true).''; echo '
//用注册类的get方法查看
var_dump(Register::get('demo2'));
//删除对象池中的某个实例对象
Register::del('demo2');
//再次查看demo2对象,已经不能被查看了,因为被销毁了
var_dump(Register::get('demo2'));
Atas ialah kandungan terperinci php注册树详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!