PHP中new static() 與new self()的區別
self:總是指向self程式碼所在類別的本身,無論這個類別被繼承了多少次,self都指向最初使用self的類別;
static:指向使用static的類,只有經由繼承後,才能體現出static存在的意義,否則static和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>
疑問:
1.不知道new static()和new self()有什麼用;
2.如果要使用new self(),為何不使用new A();
以上就介紹了PHP中new static與new self的區別,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。