PHP lernt private Eigenschaften externer aufrufender Klassen

little bottle
Freigeben: 2023-04-06 12:10:02
nach vorne
2633 Leute haben es durchsucht

In diesem Artikel geht es hauptsächlich um die privaten Eigenschaften externer Anrufklassen, die einen gewissen Referenzwert haben. Interessierte Freunde können sich darüber informieren und hoffen, Ihnen zu helfen.

Private Eigenschaften von extern aufgerufenen 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 Die Klasse 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 Tutorials:

PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonPHP lernt private Eigenschaften externer aufrufender Klassen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
php
Quelle:cnblogs.com
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage