Der Unterschied zwischen New Static und New Self in PHP

WBOY
Freigeben: 2016-08-08 09:22:43
Original
1005 Leute haben es durchsucht

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>
Nach dem Login kopieren

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.

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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage