Heim >Backend-Entwicklung >PHP-Tutorial >Der Unterschied zwischen static und self in PHP

Der Unterschied zwischen static und self in PHP

青灯夜游
青灯夜游nach vorne
2020-04-02 09:43:422602Durchsuche

Der Unterschied zwischen static und self in PHP

Ein statischer Verweis auf die aktuelle Klasse unter Verwendung von self:: oder __CLASS__, abhängig von der Klasse, in der die aktuelle Methode definiert ist:

Die Verwendung von static:: ist nein länger aufgelöst Für die Klasse, in der die aktuelle Methode definiert ist, wird sie während der tatsächlichen Laufzeit berechnet. Es kann auch als „statische Bindung“ bezeichnet werden, da es für Aufrufe statischer Methoden verwendet werden kann (aber nicht darauf beschränkt ist).

Statische Bindung ist PHP 5.3.0. Eine zusätzliche Funktion wird verwendet, um statisch aufgerufene Klassen im Vererbungsbereich zu referenzieren in welche Klasse es geschrieben ist, und es ist diese Klasse, die tatsächlich aufgerufen wird

static stellt die verwendete Klasse dar, also die statische Klasse, die Sie in die übergeordnete Klasse schreiben, und dann wird von der Unterklasse überschrieben.

<?php
class Person
{
    public static function name()
    {
        echo "111";
        echo "<br />";
    }
    public static function callself()
    {
        self::name();
    }

    public static function callstatic()
    {
        static::name();
    }
}

class Man extends Person
{
    public static function name()
    {
        echo "222";
        echo "<br />";
    }
}

Man::callself();  // output: 111
Man::callstatic();  // output: 222
?>

Empfohlen:

PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen static und self in PHP. 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