PHP8中的构造方法和析构方法-PHP8知识详解

导读:今日分享的内容是PHP8中的构造方法和析构方法,我们把构造方法和析构方法这两个方法分开来讲:

今日分享的内容是PHP8中的构造方法析构方法,我们把构造方法和析构方法这两个方法分开来讲:


1、构造方法

构造方法存在于每个声明的类中,主要作用是执行一些初始化任务。如果类中没有直接声明构造方法,那么类会默认地生成一个没有参数内存为空的构造方法。

php8中,构造方法的方法名称必须是两个下划线开头的,即“__construct”。具体的语法格式如下:

function__construct([mixed args]){
//方法的内容
}

一个类只能声明一个构造方法。构造方法中的参数是可选的,如果没有传入参数,那么将使用默认参数对成员变量进行初始化。

定义一个构造方法,参考代码

<?php
    class Fruit {
        public $name;            //定义成员变量
        public $num;             //定义成员变量
          public function __construct($name, $num) { //定义构造方法
            $this->name=$name;                     //调用本类的成员变量
            $this->num=$num;                    //调用本类的成员变量
        }
        public function showFruit(){             //定义成员方法
             if($this->num>300){
                return $this->name."的库存充足,不需要进货!";
            }else{
                return $this->name. "的库存数量不多了,需要尽快进货!";
            }
        }
    }
    $f1=new Fruit ("橘子",600);                 //类的实例化并传递参数
    echo $f1->showFruit ();                    //调用方法
    echo "<br />";  
    $f2=new Fruit ("柚子",100);               //类的实例化并传递参数
    echo $f2->showFruit ();                   //调用方法
?>

以上代码在PHP8中的显示结果如下:

橘子的库存充足,不需要进货!
柚子的库存数量不多了,需要尽快进货!

由此可见,构造方法__construct()在实例化时会自动执行,通常对一些属性进行初始化,也就是对一些属性进行初始化的赋值

要特别注意的是,构造方法不能有返回值(return)。

2、析构方法

析构方法的作用和构造方法正好相反。它是在对象销毁的时候被调用执行的。但是因为PHP求的终有资源释放,所以析构方法的意义是有限的。具体使用的语法格式如下:

function __destruct(){
//方法的内容,通常是完成一些对象销毁前的清理任务
}

PHP 8具有垃圾回收机制,可以自动清除不再使用的对象,从而释放更多的内存。析构方法是在垃圾回收程序执行前被调用的方法,是 PHP 8编程中的可选内容。

不过,析构方法在某些特定行为中还是有用的,比如在对象被销毁时清空资源或者记录日志信息。

以下两种情况中,析构方法可能被调用执行。

(1)、代码运行时,当所有的对于某个对象的reference(引用)被毁掉的情况下。

(2)、当代码执行到最终,并且 PHP8 停止请求的时候。

定义析构方法参考代码:

<?php
    class Fruit {
        public $name;                               //定义成员变量
        public $num;                                //定义成员变量
        public function __construct($name,$num){   //定义构造方法
            $this->name=$name;                     //调用本类的成员变量
            $this->num=$num;                    //调用本类的成员变量
        }
        public function showFruit (){         //定义成员方法
             if($this->num>600){
                return $this->name."的库存充足,不需要进货!";
            }else{
                return $this->name."的库存数量不多了,需要尽快进货!";
            }
        }
        public function __destruct(){            //定义析构方法
            echo "析构函数被调用了,对象Fruit被销毁了!<br />";
        }
    }
    $f1=new Fruit("梨",800);                    //类的实例化并传递参数
    $f2=new Fruit("葡萄",100);                  //类的实例化并传递参数
?>

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

析构函数被调用了,对象Fruit被销毁了!
析构函数被调用了,对象Fruit被销毁了!

PHP8使用的是一种“社圾回收”机制,能够自动清除不再使用的对象并释放内存,也就是说即使不使用unset()函数,析构方法也会被自动调用,这里只是明确一下析构方法在何时被调用。在一般情况下是不需要手动创建析构方法的。

到此为止,PHP8中的构造方法和析构方法这两个知识点就讲解完毕了。



本文地址:https://www.665800.com/91.html
码字不易,打个赏呗
杨泽业感谢你的支持!

猜你喜欢

百姓财经网公司简介

江华站长在线网络科技有限公司简介江华站长在线网络科技有限公司坐落在湖南省永州市江华瑶族自治县大路铺镇豹虎村,站长2020年开始回家创业,把公司注册在自己家里面,为一人控股的有限

2024-12-13  分类:百科  浏览:289次


湖南导航

人民政府:湖南省长沙市芙蓉区天心区岳麓区开福区雨花区望城区长沙县浏阳市宁乡市衡阳市衡南县衡阳县衡山县衡东县祁东县常宁市耒阳市南岳区雁峰区石鼓区珠晖区蒸湘区株洲市天元区炎陵县茶陵

2024-12-10  分类:资讯  浏览:305次


江华民政局关于大路铺镇14条街道命名的公告(附地图标注)

导读:再县政府公布的14条街道命名的基础上,湖南江华网站长杨泽业从大路铺政府弄到了一张地图标注,让大家更加直观的看见街道命名。

2024-12-06  分类:资讯  浏览:294次


西游记第二十九回 脱难江流来国土 承恩八戒转山林

导读:你正在今日文学网阅读的是吴承恩的《西游记》第二十九回脱难江流来国土承恩八戒转山林。主要内容:唐僧在洞内见一妇人,自称是宝象国公主,十三年前被黄袍怪摄来。公主劝老妖释入唐僧。 行到宝象国唐僧向国王递上妇人所托书信。国王恳求八戒、沙僧降妖救女,二人应诺,往战黄袍怪,八戒难敌,钻入草丛躲藏。沙僧被黄袍怪擒入洞中。

2024-12-03  分类:百科  浏览:298次


西游记第二十八回 花果山群妖聚义 黑松林三藏逢魔

西游记第二十八回 主要内容:悟空回到花果山,播风扬石,砸死上山捕猴的众猎户。 唐僧误入妖穴被擒。八戒、沙僧与与老妖黄袍怪在半空中乱杀。

2024-12-03  分类:百科  浏览:302次


西游记第二十七回 尸魔三戏唐三藏 圣僧恨逐美猴王

西游记第二十七回主要内容:唐僧遣悟空去化斋饭。山中妖精,一变美女,二变老妇,三变老翁,迷惑唐僧,悟空打死妖精,唐僧大怒,逐走悟空。

2024-12-03  分类:百科  浏览:308次


西游记第二十六回 孙悟空三岛求方 观世音甘泉活树

导读:你正在今日文学网阅读的是吴承恩的《西游记》二十六回孙悟空三岛求方观世音甘泉活树。主要内容:悟空为医活果树,拜见观音,观音与悟空同来,复活果树。镇元子开人参果会,款待观音、诸仙与唐僧师徒,并与悟空结为兄弟。

2024-12-03  分类:百科  浏览:287次


西游记第二十五回 镇元仙赶捉取经僧 孙行者大闹五庄观

西游记第二十五回主要内容:悟空难忍毁骂,将树弄倒。二童设计把唐僧师徒锁入正殿。师徒们夜间逃走。镇元子纵云赶上,以袍袖将唐僧一行尽笼而回。夜间师徒再次逃出。又被镇元子命将悟空下锅油炸,却被悟空以石狮变成自身将锅砸穿。

2024-12-03  分类:百科  浏览:307次


西游记第二十四回 万寿山大仙留故友 五庄观行者窃人参

西游记第二十四回主要内容:万寿山庄观中有树结人参果,吃后长后不老。观主镇元子都二童子以人参果款待唐僧。

2024-12-03  分类:百科  浏览:304次


西游记第二十三回 三藏不忘本 四圣试禅心

西游记第二十三回主要内容:骊山老母与观音、普贤,文殊菩萨变成母女四人,意在试探四众禅心是否坚固,唯八戒禅心不坚被捆。

2024-12-03  分类:百科  浏览:326次