So rufen Sie die Funktionen _get und _set aus externen Klassen in PHP auf

不言
Freigeben: 2023-04-03 13:50:01
Original
1751 Leute haben es durchsucht

Der Inhalt dieses Artikels befasst sich mit dem Aufrufen der Funktionen _get und _set in externen Klassen. Ich hoffe, dass er Freunden in Not helfen kann.

Private Eigenschaften externer aufrufender Klassen

Werfen wir zunächst einen Blick auf die Funktionen __get und __set in der PHP-Klasse.
Beim Versuch, eine nicht erreichbare Eigenschaft abzurufen, wird die Klasse verwendet ruft automatisch die __getFunktion auf.
Beim Versuch, eine nicht erreichbare Eigenschaft festzulegen, ruft die Klasse automatisch die Funktion __set auf.

Werfen wir zunächst einen Blick auf die Funktion __get? Versuchen wir, ein erreichbares Attribut zu erhalten:

<?php
    class A{
        public $a=1;
        private $b=2;
        function __get($name){
            echo &#39;you can get &#39;.$name;
        }
    }
    $dy = new A();
    echo $dy->a;
?>
Nach dem Login kopieren

Sehen Sie sich die Rückgabe an:

1
Nach dem Login kopieren
Nach dem Login kopieren

Kein Problem, nein Rufen Sie die Funktion __get auf:

<?php
    class A{
        public $a=1;
        private $b=2;
        function __get($name){
            echo &#39;you can get &#39;.$name;
        }
    }
    $dy = new A();
    echo $dy->b;
?>
Nach dem Login kopieren

, was darauf hinweist, dass die Funktion

hier aufgerufen wird Schauen Sie sich die

-Funktion an, verwenden Sie auch zuerst das erreichbare __get-Attribut: __set

you can get b
Nach dem Login kopieren
public Schauen Sie sich die Ausgabe an:

<?php
    class A{
        public $a;
        private $b;
        function __set($name,$val){
            echo &#39;you can get &#39;.$name.$val;
        }
    }
    $dy = new A();
    $dy->a = 1;
    echo $dy->a;
?>
Nach dem Login kopieren

wurde erfolgreich verwendet, kein Problem, dann verwenden wir das private Attribut:

1
Nach dem Login kopieren
Nach dem Login kopieren

Zu diesem Zeitpunkt sehen Sie:

<?php
    class A{
        public $a;
        private $b;
        function __set($name,$val){
            echo &#39;you can get &#39;.$name.$val;
        }
    }
    $dy = new A();
    $dy->b = 1;
    echo $dy->b;
?>
Nach dem Login kopieren

Die Funktion

wird hier aufgerufen und weist uns darauf hin, dass wir die privaten Eigenschaften der Klasse nicht verwenden können.

Jetzt implementieren wir die externe Verwendung privater Attribute über die Funktion __set:

you can get b1

PHP Fatal error:  Cannot access private property A::$b in /usercode/file.php on line 11
Nach dem Login kopieren
__setSehen Sie sich die Ausgabe an:

<?php
    class A{
        public $a;
        private $b;
        function __set($name,$val){
                $this->$name=$val;
        }
        function B(){
            echo $this->b;
        }
    }
    $dy = new A();
    $dy->b = 1;
    $dy->B();
?>
Nach dem Login kopieren

zeigt an, dass die Verwendung erfolgreich war.

Verwandte Empfehlungen:

Code für PHP zur Implementierung der PDF-Exportfunktion unter dem Thinkphp-Framework

Eingehende Analyse der Strpos-Funktion in PHP

Das obige ist der detaillierte Inhalt vonSo rufen Sie die Funktionen _get und _set aus externen Klassen in PHP auf. 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!