php注册树详解

无忌哥哥
Lepaskan: 2023-04-01 21:40:01
asal
2312 orang telah melayarinya

 * 注册树:其实就是创建一个对象集,也叫对象池,是用数组来进行存储的

//先声明三个类,一会丢进对象树上中

class Demo1 {}
class Demo2 {}
class Demo3 {}
Salin selepas log masuk

//声明对象注册树类

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]);
    }
}
Salin selepas log masuk

//先将三个类实例化后挂载到对象树上

Register::set('demo1',new Demo1);
Register::set('demo2',new Demo2);
Register::set('demo3',new Demo3);
Salin selepas log masuk

//检测是否上树?

var_dump(Register::$objs);
echo &#39;<hr>&#39;;
echo &#39;<pre class="brush:php;toolbar:false">&#39;.print_r(Register::$objs,true).&#39;
'; echo '
';
Salin selepas log masuk

//用注册类的get方法查看

var_dump(Register::get(&#39;demo2&#39;));
Salin selepas log masuk
Salin selepas log masuk

//删除对象池中的某个实例对象

Register::del(&#39;demo2&#39;);
Salin selepas log masuk

//再次查看demo2对象,已经不能被查看了,因为被销毁了

var_dump(Register::get(&#39;demo2&#39;));
Salin selepas log masuk
Salin selepas log masuk

Atas ialah kandungan terperinci php注册树详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan