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

Fassen Sie magische Methoden in PHP zusammen und organisieren Sie sie

WBOY
Freigeben: 2023-04-10 22:56:02
nach vorne
5303 Leute haben es durchsucht

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
Nach dem Login kopieren
  • 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);
    
    //即可输出:我准备销毁你了
    Nach dem Login kopieren
  • 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;
    
    //即可输出:我克隆了你
    Nach dem Login kopieren
  • 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方法
    Nach dem Login kopieren
  • 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方法
    Nach dem Login kopieren

    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!

Verwandte Etiketten:
php
Quelle:csdn.net
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