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

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

1.伪变量“$this->”

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

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

<?php
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)、类名关键字:表示可以调用本类中的常量、变量和方法。

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

<?php
    class Fruit {
        const NAME="水果";                          //定义常量NAME
        function __construct(){                     //定义构造方法
            echo "本商城销量最高的商品类别是:".Fruit::NAME."<br />"; //输出常量的默认值
        }
    }
    class MyFruit extends Fruit {                       //定义Fruit类的子类
        const NAME="葡萄";                              //定义常量NAME
        function __construct()                          //定义子类的构造方法
        {
            parent::__construct();                      //调用父类的构造方法
            echo "水果中销量最高的是:".self::NAME." "; //输出本类的常量NAME
        }
    }
    $f=new MyFruit();                                   //类的实例化
?>

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

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

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

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

原文地址:https://blog.csdn.net/u010292470/article/details/133251401

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

h
上一篇 2023年09月25日 10:23
下一篇 2023年09月25日 10:23