关于php析构方法的使用详解

析构方法说明:
1.      析构方法会自动调用
2.      析构方法主要用于销毁资源(比如释放数据库的链接,图片资源...销毁某个对象..);

析构函数会在到对象的所有的引用都被删除或者当对象被显示销毁时执行.

3.      析构方法调用顺序是,先创建的对象后被销毁
4.      析构方法什么时候被调用
(1)    当程序(进程结束)退出时
(2)    当一个对象称为垃圾对象的时候,该对象的析构方法也会被调用,
(3)    所谓垃圾对象,就是指,没有任何变量再引用它.
(4)    一旦一个对象成为垃圾对象,析构方法就会立即调用

析构方法小结:
php5加入的的析构方法function __destruct()
②析构方法没有返回值也不接受参数
③主要作用是释放资源的操作,并不是销毁对象本身。
④在销毁对象前,系统自动的调用该类的析构方法
⑤一个类最多只有一个析构方法。

析构方法实例1:

name=$name;
		$this->age=$age;
		//假设此处有一个打开一个$conn链接数据库资源的函数体
	}
	//写一个析构方法 __ 是两个下划线
	function __destruct()
	{
		echo $this->name."      销毁资源   关闭数据库 . . 
"; } } $p1=new Person("1.贾宝玉",16); $p1=null; //$p1掷空是对其对应地址下标掷空,如$p1[0x678],即掷空了中括号中的数据,地址对应的数并没有改变。 //$p1掷空马上就要被销毁,所以p1p2p3的销毁顺序为:$p1->$p3->$p2 $p2=new Person("2.林黛玉",14); $p3=new Person("3.王熙凤",15); ?>

析构方法实例2:

name赋初使值 
            $this->name=$name;
            //通过构造方法传进来的$sex给成员属性$this->sex赋初使值 
            $this->sex=$sex;
            //通过构造方法传进来的$age给成员属性$this->age赋初使值 
            $this->age=$age;
        }
 
        //这个人的说话方法
        function say()
        {
            echo "我的名子叫:".$this->name." 性别:".$this->sex." 我的年龄是:".$this->age."
"; } //这是一个析构函数,在对象销毁前调用 function __destruct() { echo "再见".$this->name."
"; } } //通过构造方法创建3个对象$p1、p2、$p3,分别传入三个不同的实参为姓名、性别和年龄 $p1=new Person("张三","男", 20); $p2=new Person("李四","女", 30); $p3=new Person("王五","男", 40); //下面访问$p1对象中的说话方法 $p1->say(); //下面访问$p2对象中的说话方法 $p2->say(); //下面访问$p3对象中的说话方法 $p3->say(); ?>

本文来自投稿,不代表重蔚自留地立场,如若转载,请注明出处https://www.cwhello.com/10209.html

如有侵犯您的合法权益请发邮件951076433@qq.com联系删除

(0)
重蔚重蔚管理团队
上一篇 2018年9月30日 00:00
下一篇 2018年10月3日 21:21

相关推荐

  • php如何使用PHPUnit进行单元测试。

    作为一种流行的开源Web编程语言,PHP在Web开发领域中得到了广泛的应用。单元测试是一种非常重要的开发方式,能够有效保证代码的可靠性和稳定性。而PHPUnit则是PHP领域中使用最广泛的单元测试框架,具有丰富的功能和…

    2023年6月3日
    01
  • php如何安装bcmath扩展脚本?(附代码)

    php如何安装bcmath扩展脚本?下面本篇文章给大家介绍一下php安装bcmath扩展脚本的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。#!/bin/bash bcmath_ini=/etc/php.d/40-bcmath.ini ## 安…

    2022年6月20日
    0176
  • php工厂方法模式是什么

    推荐:《PHP教程》引言所属:创建型模式,常用设计模式之一工厂模式分为:简单工厂模式、工厂方法模式、静态工厂模式、抽象工厂模式。下面为工厂方法模式。模式概述工厂方法就是为了解决简单工厂扩展性的问题,相信…

    2022年6月12日
    0129
  • 经验分享php开发邮件收发系统。

    “PHP开发邮件收发系统,实现用户之间的信息传递和交流。” 在现代的Web开发中,邮件收发系统是一种常见的需求,PHP作为一种广泛使用的服务器端脚本语言,提供了丰富的库和函数来实现邮件的发送和接收,…

    2024年7月13日
    03
  • 今日分享phpstorm配置php环境的方法。

    PhpStorm配置php环境的方法如下:,,1. 下载并安装好PhpStorm软件。,2. 下载php+apache并安装好,或者直接安装wamp、phpstudy等一键环境都是可以的。,3. 确保已经安装了chrome、Firefox等浏览器。,4. 进入Setti…

    2024年7月13日
    04
  • php自带函数strip_tags去除html标签

    strip_tags() 函数剥去 HTML、XML 以及 PHP 的标签。 语法: string strip_tags(string,allow); 传回值: 字串 参数 描述 string 必需。规定要检查的字符串。 allow 可选。规定允许的标签。这些标签不会被删除。 提示…

    2018年3月14日
    0397
  • 用PHP的FFI调用cjieba

    phpjieba_ffi使用PHP 7.4的 FFI 测试直接调用cjieba分词的动态库选用CJieba的原因是FFI使用的是C的调用约定,如果用Cpp,还得自己包装一下,然后extern C,让编译器生成标准C的动态库。碰到的问题段错误C变量没有初…

    2022年6月23日
    0124
  • 关于如何实现php的伪静态,php如何实现静态化。

    一、什么是伪静态? 伪静态,顾名思义,是一种看似静态的URL,但实际上是动态的,它通过在URL后面添加一些参数(如:$_GET、$_POST等),使得用户在访问时看到的是静态的URL,而实际上服务器端是根据这些参数来处理请求…

    2024年6月16日
    02

联系我们

QQ:951076433

在线咨询:点击这里给我发消息邮件:951076433@qq.com工作时间:周一至周五,9:30-18:30,节假日休息