php中self :: 和 this 的区别

因为经常用框架的缘故,所以对php底层的一些运行机制和方法都不会了,现在记录下来,供大家一块学习参考

在访问PHP类中的成员变量或方法时,如果被引用的变量或者方法被声明成const(定义常量)或者static(声明静态),那么就必须使用操作符::,反之如果被引用的变量或者方法没有被声明成const或者static,那么就必须使用操作符->。

另外,如果从类的内部访问const或者static变量或者方法,那么就必须使用自引用的self,反之如果从类的内部访问不为const或者static变量或者方法,那么就必须使用自引用的$this。
self

<?php
class MyClass
{
    const constant = '常量值';
    function showConstant() {
        echo  self::constant;
    }
}
?>
发布了42 篇原创文章 · 获赞 26 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/doukalove/article/details/94464288