PHP中new static与new self的区别

WBOY
Libérer: 2016-08-08 09:22:43
original
1007 Les gens l'ont consulté

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>
Copier après la connexion

疑问:
1、不知道new static()和new self()有什么用;
2、如果要使用new self(),为何不使用new A();

以上就介绍了PHP中new static与new self的区别,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal