Rumah > pembangunan bahagian belakang > tutorial php > php中的范围解析符

php中的范围解析符

无忌哥哥
Lepaskan: 2023-04-01 21:06:02
asal
1658 orang telah melayarinya

* 范围解析符::

 * 一、用途

 * 1.调用静态成员(类外部)

 * 2.调用类常量

 * 3.调用被子类覆盖的类成员(属性/方法)

 * 二、场景

 * 1.类外部:前面仅允许通过类名来访问类中成员

 * 2.类内部:前面仅允许: self, parent,static

 * 三、特殊: 允许使用类名变量来引用类名(php5.3+)

class Demo1 
{
    const HOME = '合肥';
    public static function test1()
    {
        return __METHOD__;
    }
    public static function test2()
    {
        //延迟静态绑定:后面会说到
        //static::根据上下文来决定使用哪个类来调用
        return static::test1();
    }
}
class Demo2 extends Demo1
{
    public static $name = '朱老师';
    public static function test1()
    {
        //调用本类静态成员: self::
        $res = self::$name.&#39;<br>&#39;;
        //调用父类静态成员属性: parent::
        $res .= parent::HOME.&#39;<br>&#39;;
        //调用父类静态成员方法
        $res .= parent::test1().&#39;<br>&#39;;
        $res .= __METHOD__;
        return $res;
    }
    
}
Salin selepas log masuk

//1.类外部调用类静态成员

echo Demo1::HOME,&#39;<br>&#39;;
echo Demo1::test1();
echo &#39;<hr>&#39;;
echo Demo2::test1();
echo &#39;<hr>&#39;;
Salin selepas log masuk

//注意Demo1调用test2()和Demo2调用test2()的区别

//Demo1::test()返回Demo1中的test1()运行结果

echo Demo1::test2();
echo &#39;<hr>&#39;;
Salin selepas log masuk

//Demo2::test2()返回Demo2中的test1()运行结果

echo Demo2::test2();
echo &#39;<hr>&#39;;
Salin selepas log masuk

//php5.3+,允许使用类变量来调用

$class = &#39;Demo2&#39;;
echo $class::test2();
Salin selepas log masuk

Atas ialah kandungan terperinci php中的范围解析符. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan