Heim  >  Artikel  >  Backend-Entwicklung  >  Wann wird die PHP-Magic-Methode __unset() aufgerufen?

Wann wird die PHP-Magic-Methode __unset() aufgerufen?

青灯夜游
青灯夜游Original
2020-08-19 16:05:383113Durchsuche

Die magische PHP-Methode __unset() wird aufgerufen, wenn die Funktion unset() aufgerufen wird, um ein unzugängliches Attribut zu zerstören. Sie erhält einen Parameter, der den Namen des Attributs ausdrückt.

Wann wird die PHP-Magic-Methode __unset() aufgerufen?

Empfohlen: „PHP-Video-Tutorial

Attributüberladung: Beim Zugriff auf ein Attribut, das nicht existiert oder nicht über ausreichende Berechtigungen verfügt, kann eine Reihe magischer Methoden ausgelöst werden, die als Attributüberladung bezeichnet werden

__unset () wird aufgerufen, wenn die Funktion unset() aufgerufen wird, um eine unzugängliche Eigenschaft zu zerstören. Sie erhält einen Parameter, der den Namen der Eigenschaft ausdrückt.

<?php

    //属性重载
    class Person{
        //属性
        public $name;
        private $age;

        //构造方法
        public function __construct($name,$age) {
            $this->name = $name;
            $this->age  = $age;
        }

        //增加__unset方法,没有返回值
        public function __unset($name){
            $allow = array(&#39;age&#39;);

            //判断
            if(in_array($name,$allow)){
            //如果允许删除,就帮助其删除
                unset($this->$name);
            }
        }
    }
    echo &#39;<pre class="brush:php;toolbar:false">&#39;;

    //实例化
    $person = new Person(&#39;方智&#39;,19);

    var_dump($person);
    //删除属性
    //unset($person->name);                    //公有属性可以直接被unset掉
    //var_dump($person);

    //unset私有属性
    unset($person->age);
    var_dump($person);

    unset($person->tail);

Weitere Kenntnisse zum Thema Programmierung finden Sie unter: Einführung in die Programmierung! !

Das obige ist der detaillierte Inhalt vonWann wird die PHP-Magic-Methode __unset() aufgerufen?. 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