手机
当前位置:查字典教程网 >编程开发 >php教程 >PHP的范围解析操作符(::)的含义分析说明
PHP的范围解析操作符(::)的含义分析说明
摘要:今天看到几个有关PHP的符号。一个是@,这个加在一个变量的前面,是为了抑制PHP解释器报错,也就是说即使出了错也不会显示出来。还有一个更重要...

今天看到几个有关PHP的符号。一个是@,这个加在一个变量的前面,是为了抑制PHP解释器报错,也就是说即使出了错也不会显示出来。

还有一个更重要的符号PHP的范围解析操作符(::)

在没有声明任何实例的情况下访问类中的函数或者基类中的函数和变量很有用处。而 :: 运算符即用于此情况。

复制代码 代码如下:

<?php

class A {

function example() {

echo "I am the original function A::example().<br />n";

}

}

class B extends A {

function example() {

echo "I am the redefined function B::example().<br />n";

A::example();

}

}

// A 类没有对象,这将输出

// I am the original function A::example().<br />

A::example();

// 建立一个 B 类的对象

$b = new B;

// 这将输出

// I am the redefined function B::example().<br />

// I am the original function A::example().<br />

$b->example();

?>

上面的例子调用了 A 类的函数 example(),但是这里并不存在 A 类的对象,因此不能这样用 $a->example() 或者类似的方法调用 example()。反而我们将 example() 作为一个类函数来调用,也就是说,作为一个类自身的函数来调用,而不是这个类的任何对象。

这里有类函数,但没有类的变量。实际上,在调用函数时完全没有任何对象。因而一个类的函数可以不使用任何对象(但可以使用局部或者全局变量),并且可以根本不使用 $this 变量。

上面的例子中,类 B 重新定义了函数 example()。A 类中原始定义的函数 example() 将被屏蔽并且不再生效,除非使用 :: 运算符来访问 A 类中的 example() 函数。如:A::example()(实际上,应该写为 parent::example(),下一章介绍该内容)。

就此而论,对于当前对象,它可能有对象变量。因此可以在对象函数的内部使用 $this 和对象变量。

【PHP的范围解析操作符(::)的含义分析说明】相关文章:

初学者入门:细述PHP4的核心Zend

PHP加密解密字符串汇总

无数据库的详细域名查询程序PHP版(3)

PHP中isset与array_key_exists的区别实例分析

php实现随机显示图片方法汇总

PHP中的traits简单使用实例

杏林同学录(三)

PHP网络操作函数汇总

PHP中上传大体积文件时需要的设置

PHP常用处理静态操作类

精品推荐
分类导航