Heim  >  Artikel  >  Backend-Entwicklung  >  Fassen Sie magische Methoden in PHP zusammen und organisieren Sie sie

Fassen Sie magische Methoden in PHP zusammen und organisieren Sie sie

WBOY
WBOYnach vorne
2022-04-15 12:50:225287Durchsuche

Dieser Artikel vermittelt Ihnen relevantes Wissen über PHP. Er stellt hauptsächlich verwandte Themen zu magischen Methoden vor und fasst die __construct-Konstruktionsmethode, die __destruct-Destruktormethode, die __clone-Klonmethode usw. zusammen. Ich hoffe, dass er für alle nützlich sein wird.

Fassen Sie magische Methoden in PHP zusammen und organisieren Sie sie

Empfohlene Studie: „PHP-Video-Tutorial

Detaillierte Erklärung der magischen Methoden in PHP, Es gibt eine Art Methode in PHP, die sehr seltsam ist, solange bestimmte Bedingungen erfüllt sind erfüllt, wird es von selbst ausgeführt, d Die Methode wird automatisch ausgeführt

Wird automatisch ausgelöst, wenn die Klasse geklont wird. Rufen Sie

<?php
class autofelix 
{
    public function __construct()
    {
        echo &#39;我是类autofelix&#39;;
    }
}

new autofelix();

//即可输出:我是类autofelix
  • 4. __call nicht statische Aufrufmethode auf
Wenn die aufzurufende Methode nicht existiert oder die Berechtigungen nicht ausreichen, wird sie automatisch aufgerufen

Für Beispiel: Ich rufe eine private geänderte Methode innerhalb der Klasse von außerhalb der Klasse auf Zum Beispiel rufe ich eine private modifizierte statische Methode innerhalb der Klasse von außerhalb der Klasse auf

    <?php
    class autofelix 
    {
        public function __destruct()
        {
            echo &#39;我准备销毁你了&#39;;
        }
    }
    
    $a = new autofelix();
    unset($a);
    
    //即可输出:我准备销毁你了
  • 6, __debugInfo-Druckmethode

Diese Methode wird aufgerufen, wenn das Klassenobjekt var_dump() ist Wenn diese Methode nicht vorhanden ist Definiert druckt var_dump() alle Klassenattribute aus

    <?php
    class autofelix 
    {
        public function __clone()
        {
            echo &#39;我克隆了你&#39;;
        }
    }
    
    $a = new autofelix();
    clone $a;
    
    //即可输出:我克隆了你
  • 7. __get ruft Mitgliedsattribute ab. Methode

über die Sie private Mitgliedseigenschaften außerhalb des Objekts erhalten können

    <?php
    class autofelix 
    {
        private function say() 
        {
            echo &#39;hello, 我是autofelix&#39;;
        }
    
        public function __call($name, $arguments)
        {
            echo &#39;你无权调用&#39; . $name . &#39;方法&#39;;
            die;
        }
    }
    
    $a = new autofelix();
    $a->say(); //按理说应该报错
    
    //即可输出:你无权调用say方法
  • 8. __isset-Methode
  • wird automatisch aufgerufen, wenn isset() oder empty() für eine unzugängliche Eigenschaft aufgerufen wird. __invoke-Methode

      Das Objekt selbst kann nicht direkt als Funktion verwendet werden
    • Wenn das Objekt behandelt wird als Der Funktionsaufruf löst diese Methode aus
    <?php
    class autofelix 
    {
        private static function say() 
        {
            echo 'hello, 我是autofelix';
        }
    
        public function __callStatic($name, $arguments)
        {
            echo '你无权调用' . $name . '方法';
            die;
        }
    }
    
    $a = new autofelix();
    $a::say(); //按理说应该报错
    
    //即可输出:你无权调用say方法

    Eleven, __sleep-Methode

      wird beim Serialisieren automatisch aufgerufen () wird außerhalb der Klasse aufgerufen automatisch aufgerufen werden

    Das obige ist der detaillierte Inhalt vonFassen Sie magische Methoden in PHP zusammen und organisieren Sie sie. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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