So verwenden Sie die PHP-Methode __set magic

青灯夜游
Freigeben: 2023-03-10 18:22:01
Original
1705 Leute haben es durchsucht

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){
    ... ... ;
}
Nach dem Login kopieren

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;;
?>
Nach dem Login kopieren

Die laufenden Ergebnisse lauten wie folgt:

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

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();
?>
Nach dem Login kopieren

Die laufenden Ergebnisse sind wie folgt:

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

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!