首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PHP8中 伪变量“$this>”和操作符“::”的使用-PHP8知识详解

对象不仅可以调用自己的变量和方法,也可以调用类中的变量和方法。php8通过伪变量“$this>”和操作符“::”来实现这些功能。

1.伪变量“$this->”

在通过对象名->方法调用对象的方法时,如果不知道对象的名称,而又想调用类中的方法,就要用伪变量“$this->”。伪变量“$this->”的意思就是本身,成员方法属于哪个对象,$this 引用就代表哪个对象,主要作用是专门完成对象内部成员之间的访问。

使用伪变量“$this->”参考代码:

class myexample {

? function fun(){? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //定义成员方法

? ? ? if(isset($this)){? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//判断变量$this是否存在

? ? ? ? ? echo "变量\$this的值是:".get_class($this); //如果存在则输出$this所属类名

? ? ? }else{

? ? ? ? ? echo "变量\$this不存在!";

? ? ? }

? }

}

$myexam=new myexample();? ? ? ? ? ? ? ? ? ? ? ? ? ? //类的实例化

$myexam->fun();? ? ? ? ? ? ?//类的实例化并传递参数

?>

以上代码在PHP8中的运行结果如下:

变量$this的值是:myexample

2、操作符“::”

操作符“::”可以在没有任何声明实例的情况下访问类中的成员,语法格式如下:

关键字::变量名/常量名/方法名

其中关键字主要包括parent、self和类名 3种。

(1)、parent关键字:表示可以调用父类中的成员变量、常量和成员方法。

(2)、self关键字:表示可以调用当前类中的常量和静态成员。

(3)、类名关键字:表示可以调用本类中的常量、变量和方法。

使用操作符“::”参考代码:

? class Fruit {

? ? ? const NAME="水果";? ? ? ? ? ? ? ? ? ? ? ? ? //定义常量NAME

? ? ? function __construct(){? ? ? ? ? ? ? ? ? ? ?//定义构造方法

? ? ? ? ? echo "本商城销量最高的商品类别是:".Fruit::NAME.""; //输出常量的默认值

? ? ? }

? }

? class MyFruit extends Fruit {? ? ? ? ? ? ? ? ? ? ? ?//定义Fruit类的子类

? ? ? const NAME="葡萄";? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //定义常量NAME

? ? ? function __construct()? ? ? ? ? ? ? ? ? ? ? ? ? //定义子类的构造方法

? ? ? {

? ? ? ? ? parent::__construct();? ? ? ? ? ? ? ? ? ? ? //调用父类的构造方法

? ? ? ? ? echo "水果中销量最高的是:".self::NAME." "; //输出本类的常量NAME

? ? ? }

? }

? $f=new MyFruit();? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//类的实例化

?>

以上代码在PHP8中的运行结果如下:

本商城销量最高的商品类别是:水果

水果中销量最高的是:葡萄

到此为止,对象不仅可以调用自己的变量和方法,也可以调用类中的变量和方法。PHP8通过伪变量“$this>”和操作符“::”来实现这些功能就讲解完毕了。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OcZnSwoqW_R1Any0yJiOmtKw0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券
http://www.vxiaotou.com