Heim >Backend-Entwicklung >PHP-Tutorial >Der Unterschied zwischen New Static und New Self in PHP

Der Unterschied zwischen New Static und New Self in PHP

WBOY
WBOYOriginal
2016-08-08 09:22:431055Durchsuche

Der Unterschied zwischen new static() und new self() in PHP

self: zeigt immer auf die Klasse selbst, in der sich der Self-Code befindet, egal wie oft diese Klasse vererbt wird , self verweist auf die ursprüngliche Verwendungsklasse von self
static: Zeigt auf eine Klasse, die static verwendet. Die Bedeutung von static kann nur durch Vererbung existieren. Ansonsten ist static dasselbe wie self.

<code><span><span>class</span><span>A</span> {</span><span>public</span><span><span>function</span><span>getStatic</span><span>()</span>{</span><span>return</span><span>new</span><span>static</span>();
    }
    <span>public</span><span><span>function</span><span>getSelf</span><span>()</span>{</span><span>return</span><span>new</span><span>self</span>();
    }
}
<span><span>class</span><span>B</span><span>extends</span><span>A</span>{</span>}
var_dump((<span>new</span> B())->getSelf());<span>//A</span>
var_dump((<span>new</span> B())->getStatic());<span>//B</span></code>

Frage:
1. Ich weiß nicht, wozu new static() und new self() dienen 2. Wenn Sie new self() verwenden möchten, warum nicht new A();

verwenden? Das Obige hat den Unterschied zwischen New Static und New Self in PHP vorgestellt, einschließlich relevanter Aspekte. Ich hoffe, es wird für Freunde hilfreich sein, die sich für PHP-Tutorials interessieren.

Stellungnahme:
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