php 析构方法 详解
来源:互联网 发布:1688传淘宝代销规则 编辑:程序博客网 时间:2024/05/17 22:27
析构方法说明:
1. 析构方法会自动调用
2. 析构方法主要用于销毁资源(比如释放数据库的链接,图片资源...销毁某个对象..);
析构函数会在到对象的所有的引用都被删除或者当对象被显示销毁时执行.
3. 析构方法调用顺序是,先创建的对象后被销毁4. 析构方法什么时候被调用
(1) 当程序(进程结束)退出时
(2) 当一个对象称为垃圾对象的时候,该对象的析构方法也会被调用,
(3) 所谓垃圾对象,就是指,没有任何变量再引用它.
(4) 一旦一个对象成为垃圾对象,析构方法就会立即调用
析构方法小结:
①php5加入的的析构方法function __destruct()
②析构方法没有返回值也不接受参数
③主要作用是释放资源的操作,并不是销毁对象本身。
④在销毁对象前,系统自动的调用该类的析构方法
⑤一个类最多只有一个析构方法。
析构方法实例1:
<?phpclass Person{public $name;public $age;public $conn; //构造方法public function __construct($name,$age){$this->name=$name;$this->age=$age;//假设此处有一个打开一个$conn链接数据库资源的函数体}//写一个析构方法 __ 是两个下划线function __destruct(){echo $this->name." 销毁资源 关闭数据库 . . <br/>";}}$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:
<?php //创建一个人类 class Person { //下面是人的成员属性 public $name; //人的名子 public $sex; //人的性别 public $age; //人的年龄 //定义一个构造方法参数为姓名$name、性别$sex和年龄$age public function __construct($name,$sex,$age) { //通过构造方法传进来的$name给成员属性$this->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."<br/>"; } //这是一个析构函数,在对象销毁前调用 function __destruct() { echo "再见".$this->name."<br/>"; } } //通过构造方法创建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();?>输出结果如下:
0 0
- php 析构方法 详解
- PHP __autoload()方法详解
- php魔术方法详解
- PHP析构方法
- php析构方法
- PHP魔法方法/函数详解
- PHP魔法方法/函数详解
- php中__autoload()方法详解
- PHP中的魔术方法详解
- php操作redis方法详解
- php使用PDO方法详解
- php数组常用方法详解
- php操作redis方法详解
- php操作redis方法详解
- php析构函数详解
- PHP 魔术方法__set() __get() 方法详解
- PHP-构造方法和析构方法
- PHP----构造方法、析构方法
- 命令执行错误系列(一)ls: 初始化月份字符串出错
- 基于 CoreText 的排版引擎:基础
- Android高通平台调试Camera驱动全纪录
- T_SQL总结笔记
- 世界,您好!
- php 析构方法 详解
- spoj Count on a tree【主席树】
- 细说Cookie
- js判断登录与否并确定跳转页面的方法
- 使用Gson将字符窜转化成Json格式
- UILabel属性使用
- Apache/Tomcat/JBOSS/Nginx区别
- uploadify"ID SWFUpload_0 is already in use..."错误的解决方法
- C++ string 用法详解