Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erklärung des PHP-Registrierungsbaums

Detaillierte Erklärung des PHP-Registrierungsbaums

无忌哥哥
无忌哥哥Original
2018-06-28 16:15:102298Durchsuche

* Registrierungsbaum: Tatsächlich geht es darum, einen Objektsatz zu erstellen, der auch als Objektpool bezeichnet wird und in einem Array gespeichert wird.

//Deklarieren Sie zuerst drei Klassen und werfen Sie sie später in den Objektbaum

class Demo1 {}
class Demo2 {}
class Demo3 {}

//Deklarieren Sie die Objektregistrierungsbaumklasse

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]);
    }
}

//Instanziieren Sie zuerst die drei Klassen und mounten Sie sie dann im Objektbaum

Register::set('demo1',new Demo1);
Register::set('demo2',new Demo2);
Register::set('demo3',new Demo3);

//Überprüfen Sie, ob Sie fortfahren möchten den Baum hinauf?

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

//Verwenden Sie die Get-Methode der registrierten Klasse zum Anzeigen

var_dump(Register::get(&#39;demo2&#39;));

//Löschen Sie ein Instanzobjekt im Objektpool

Register::del(&#39;demo2&#39;);

//Anzeigen das demo2-Objekt erneut, es kann nicht mehr überprüft werden, da es zerstört wurde

var_dump(Register::get(&#39;demo2&#39;));

Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung des PHP-Registrierungsbaums. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn