Heim  >  Artikel  >  Backend-Entwicklung  >  So verwenden Sie die PHP-Methode __set magic

So verwenden Sie die PHP-Methode __set magic

青灯夜游
青灯夜游Original
2021-06-18 18:06:441719Durchsuche

In PHP wird die Methode „__set()“ automatisch aufgerufen, wenn undefinierten oder unsichtbaren Klassenattributen in der aktuellen Umgebung Werte zugewiesen werden; das Syntaxformat ist „öffentliche Funktion __set($key, $value){...“ ; }“ erhält es zwei Parameter, einen für den Attributnamen und einen für den Attributwert.

So verwenden Sie die PHP-Methode __set magic

Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 7.1, DELL G3-Computer

In der objektorientierten Programmierung bietet PHP eine Reihe magischer Methoden, die viel Komfort beim Programmieren bieten Rolle in PHP ist sehr wichtig. Magic-Methoden in PHP beginnen normalerweise mit __ (zwei Unterstrichen) und müssen nicht explizit aufgerufen werden, sondern werden unter bestimmten Bedingungen automatisch aufgerufen.

__set()-Methode

Wenn Sie einem Klassenattribut einen Wert zuweisen, der in der aktuellen Umgebung undefiniert oder unsichtbar ist, wird die __set()-Methode automatisch aufgerufen. Das Syntaxformat zum Definieren dieser Methode lautet wie folgt:

public function __set($key, $value){
    ... ... ;
}

Darunter ist der Parameter $key der Name der zu bedienenden Variablen und $value der Wert der Variablen $key.

【Beispiel】Im Folgenden wird anhand eines einfachen Beispiels die Verwendung der Methode __set() demonstriert.

<?php
    class Website{
        public $name;
        private $url;
        public function __set($key, $value){
            echo &#39;为“&#39;.$key.&#39;”赋值“&#39;.$value.&#39;”失败!<br>&#39;;
        }
    }
    $object          = new Website();
    $object -> name  = &#39;php中文网&#39;;
    $object -> url   = &#39;https://www.php.cn/&#39;;
    $object -> title = &#39;PHP教程&#39;;
?>

Die laufenden Ergebnisse lauten wie folgt:

为“url”赋值“https://www.php.cn/”失败!
为“title”赋值“PHP教程”失败!

Unter Verwendung der Eigenschaften der __set()-Methode können wir die __set()-Methode verwenden, um Eigenschaften in der Klasse zuzuweisen oder zu ändern, die mit dem privaten Schlüsselwort geändert werden. Wie unten gezeigt:

<?php
    class Website{
        public $name;
        private $url = &#39;&#39;;
        public function __set($key, $value){
            if(isset($this->$key)){
                $this -> $key = $value;
            }else{
                echo &#39;为“&#39;.$key.&#39;”赋值“&#39;.$value.&#39;”失败!<br>&#39;;
            }
        }
        public function getUrl(){
            echo $this -> url;
        }
    }
    $object          = new Website();
    $object -> name  = &#39;php中文网&#39;;
    $object -> url   = &#39;https://www.php.cn/&#39;;
    $object -> title = &#39;PHP教程&#39;;
    $object -> getUrl();
?>

Die laufenden Ergebnisse sind wie folgt:

为“title”赋值“PHP教程”失败!
https://www.php.cn/

Empfohlenes Lernen: „PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo verwenden Sie die PHP-Methode __set magic. 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