Heim  >  Artikel  >  Backend-Entwicklung  >  PHP lernt private Eigenschaften externer aufrufender Klassen

PHP lernt private Eigenschaften externer aufrufender Klassen

little bottle
little bottlenach vorne
2019-04-26 18:02:372632Durchsuche

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;
?>

Sehen Sie sich die Rückgabe an:

1

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;
?>

, 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
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;
?>

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

1

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;
?>

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
__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();
?>

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:cnblogs.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen