旗下导航:搜·么
当前位置:网站首页 > PHP问题 > 正文

php中析构函数是什么【php题目】

作者:搜搜PHP网发布时间:2019-11-26分类:PHP问题浏览:111


导读:析构函数__destruct(void):voidPHP5引入了析构函数的观点,这类似于别的面向对象的言语,如C++。析构函数会在到某个对象的一切...

析构函数

__destruct ( void ) : void

PHP 5 引入了析构函数的观点,这类似于别的面向对象的言语,如 C++。析构函数会在到某个对象的一切援用都被删除或许当对象被显式烧毁时实行。

析构函数会在某个对象的一切援用都被删除了(不管是显式烧毁照样隐式烧毁)或许php文件实行时实行。

某个对象的一切援用被删除:(引荐进修:PHP编程从入门到通晓)

、运用unset(对象名),将对象名烧毁
2、$对象名 = null
3、$对象名 = 'abc'

显式烧毁:

上面写的三种体式格局,都是显式烧毁,所谓显式烧毁就是顺序员主动删除对象援用。

假如顺序员不去显式烧毁对象,那末在顺序实行终了后,这个对象就会被体系烧毁,这个就是体系烧毁。也叫隐式烧毁。

基础语法:

class 类名{
    public function __destruct(){
    //函数体
    //析构函数的重要作用,就是开释对象建立的资本
    //比方 数据库衔接,文件句柄,画图句柄。。。
    }
}

申明:

(1)析构函数都是public

(2)__destruct是关键字,不要修正

(3)析构函数没有形参

(4)析构函数时体系挪用的

(5)析构函数在以下状况会被体系挪用

php文件实行完

在某个对象的一切援用都被删除或许当对象被显式烧毁时实行。

<?php
class MyDestructableClass {
   function __construct() {
       print "In constructor\n";
       $this->name = "MyDestructableClass";
   }

   function __destruct() {
       print "Destroying " . $this->name . "\n";
   }
}

$obj = new MyDestructableClass();
?>

和组织函数一样,父类的析构函数不会被引擎暗中挪用。要实行父类的析构函数,必须在子类的析构函数体中显式挪用 parent::__destruct()。另外也和组织函数一样,子类假如本身没有定义析构函数则会继续父类的。

析构函数纵然在运用 exit() 停止剧本运转时也会被挪用。在析构函数中挪用 exit() 将会中断其他封闭操纵的运转。

Note:

析构函数在剧本封闭时挪用,此时一切的 HTTP 头信息已发出。剧本封闭时的事情目次有能够和在 SAPI(如 apache)中时差别。

Note:

试图在析构函数(在剧本停止时被挪用)中抛出一个异常会致使致命毛病。

以上就是php中析构函数是什么的细致内容,更多请关注ki4网别的相干文章!

标签:php