关于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和Haskell进行函数式编程。

    随着互联网的发展,编程语言也随之不断地更新和完善。如今,各种编程语言层出不穷,而其中PHP和Haskell这两种编程语言,都在开发者中备受关注。PHP是一种十分流行的服务器端脚本语言,用于快速开发Web应用程序。P...

    2023年5月30日
    00
  • 中文分词 PHP 扩展 SCWS 安装方法

    #进入我的下载目录 cd /mydownload #下载源码包 wget http://www.xunsearch.com/scws/down/scws-1.2.3.tar.bz2 tar xvjf scws-1.2.3.tar.bz2 # 编译安装 cd scws-1.2.3 ./configure --prefix=/usr/local/scws mak...

    2022年6月25日
    0168
  • PHP与数据库队列的集成。

    随着现代Web应用的发展,越来越多的需要将任务异步处理,以提高网站的性能和用户体验。其中一种常见的方式是使用队列系统,将需要处理的任务排队,然后由后台进程异步处理。而PHP和数据库都是Web开发中广泛使用的...

    2023年5月21日
    03
  • 详解PHP 如何对接 paypal 支付

    环境准备注册paypal账号注册paypal开发者账号创建paypal沙盒测试账户创建paypal应用下载PHP SDK实现支付实现支付成功回调实现退款更多API代码模板注册paypal账号www.paypal.com 注册商家账户选择,”创建商家用户”...

    2022年6月21日
    0301
  • 详解PHP论坛实现系统的思路

    首先在用户表定义一个积分字段;然后创建一个等级表,主要字段有等级名,上限积分和下限积分;再根据用户的行为进行积分累加;最后根据判断用户积分在哪个等级范围,从而得出用户等级。用户表CREATE TABLE `bbs`....

    2022年6月16日
    0146
  • PHP之钩子

    PHP 提供的钩子PHP 和 Zend Engine 为扩展提供了许多不同的钩子,这些扩展允许扩展开发人员以 PHP userland 无法提供的方式控制 PHP 运行时。本章将展示各种钩子和从扩展钩子到它们的常见用例。钩子到 PHP 功能的...

    2022年6月13日
    0153
  • PHP入门指南:Zend框架。

    PHP入门指南:Zend框架PHP是一种流行的开源脚本语言,它被广泛应用于Web应用程序的开发。然而,PHP的开发者往往需要使用框架来提高开发效率和代码复用性。Zend框架是一个流行的PHP框架,它的设计思想是为了提高代...

    2023年5月23日
    04
  • 详解php实现网页上一页下一页翻页过程

    前言这几天做项目因为数据太多,需要对信息进行上下翻页展示,就自己写了翻页的代码大致功能就是页面只显示几条信息,按上一页、下一页切换内容,当显示第一页时上一页和首页选项不可选,当页面加载到最后一页时...

    2022年6月14日
    0378

联系我们

QQ:951076433

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