Heim > Backend-Entwicklung > PHP-Tutorial > [PHP] Mehrere Möglichkeiten, Klassennamen zu erhalten und den Singleton-Modus zu implementieren

[PHP] Mehrere Möglichkeiten, Klassennamen zu erhalten und den Singleton-Modus zu implementieren

little bottle
Freigeben: 2023-04-06 09:02:01
Original
2901 Leute haben es durchsucht

Heute zeigt Ihnen der Editor, wie Sie mit PHP Klassennamen erhalten und den Singleton-Modus implementieren. Es hat einen gewissen Referenzwert.

Mehrere Möglichkeiten, den Klassennamen abzurufen

1.__CLASS__: Den aktuellen Klassennamen abrufen

2.get_class(): Den Klassennamen des Objekts zurückgeben

3.get_claimed_class(): Der Name der späten statischen Bindungsklasse („Late Static Binding“), also der Klassenname des statischen Methodenaufrufers

<?php

class foo {
    static public function test() {
        echo "foo.__CLASS__:".__CLASS__."\n";
        echo "foo.get_class:".get_class()."\n";
        echo "foo.get_called_class:".get_called_class()."\n";
    }
}

class bar extends foo {
    
}

foo::test();
echo "\n";
bar::test();
?>
Nach dem Login kopieren

Ergebnis:

//结果
foo.__CLASS__:foo
foo.get_class:foo
foo.get_called_class:foo

foo.__CLASS__:foo
foo.get_class:foo
foo.get_called_class:bar
Nach dem Login kopieren

Singleton-Modus: Stellen Sie sicher, dass eine Klasse nur eine Instanz hat, sich selbst instanziiert und diese Instanz dem gesamten System zur Verfügung stellt.

<?php

//通过get_called_class实现单例模式

class Singleton{
   
   private static $instance; 
  
    public static function getInstance() {  //静态共有方法实例化对象
        $class_name = get_called_class();
        if (isset(self::$instance[$class_name])) {
            return self::$instance[$class_name];
        }
        self::$instance[$class_name] = new $class_name;
        return self::$instance[$class_name];
    }
}
?>
Nach dem Login kopieren

Verwandte Tutorials: PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt von[PHP] Mehrere Möglichkeiten, Klassennamen zu erhalten und den Singleton-Modus zu implementieren. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage