php析构函数的具体用法小结
简单的说,析构函数是用来在对象关闭时完成的特殊工作,比如我写的上例,在实例化同时打开某文件,但是它什么时候关闭呢,用完就关闭呗,所以析构函数直接关闭它, 又或者在析构时,我们将处理好的某些数据一并写进数据库,这时可以考虑使用析构函数内完成,在析构完成前,这些对象属性仍然存在,并且仅用于内部访问,所以可以放心的做与对象有关的任何善后工作 析构函数并不是为了把对象自身的内存释放,而是当用户需要额外释放某些内存时用它来指导php需要释放的内存在哪里,最后php在析构时使用
代码如下:
class x
{
function __construct()
{
$this->file = fopen('path', 'a');
}
function __destruct()
{
fclose($this->file);
}
}
相关推荐
-
php学习笔记 面向对象的构造与析构方法
复制代码 代码如下: <?php /* * 1.对象中成员的访问(在一个对象的内部方法中,去访问本对轩昂中的其他方法和成员属性) * 2.在对象中的方法中都默认有一个$this关键字,这个关键字代表调用这个方法的对象 * * 构造方法 * * 1.是对象创建完成后,"第一个""自动调用"的方法 * * 2.构造方法的定义,方法名是一个固定的, * 在php4中:和类名相同的方法就是构造方法 * 在php5中:构造方法选择使用 魔术方法__construct()
-
php实现parent调用父类的构造方法与被覆写的方法
本文实例讲述了php实现parent调用父类的构造方法与被覆写的方法.分享给大家供大家参考.具体分析如下: 覆写:被重新设计. 在子类中定义构造方法时,需要传递参数给父类的构造方法,否则我们得到的可能是一个构造不完整的对象. 要调用父类的方法,首先要找到一个引用类本身的途径:句柄(handle),PHP为此提供了parent关键字. parent 调用父类的构造方法 要引用一个类而不是对象的方法,可以使用 ::(两个冒号),而不是 ->. 所以, parent::__construct()
-
PHP的构造方法,析构方法和this关键字详细介绍
一.什么是构造方法 构造方法是类的一种特殊的方法,它的主要作用是完成对新对象初始化. 特点:1. 没有返回值.2. 在创建一个新的对象时,系统会自动调用该类的构造方法完成对新对角的初始化. 语法: php5: 修饰符 function __construct() { //code } php4: 修饰符 function 类名() {
-
析构函数与php的垃圾回收机制详解
析构函数:当某个对象成为垃圾或者当对象被显式销毁时执行. GC(Garbage Collector) 在PHP中,没有任何变量指向这个对象时,这个对象就成为垃圾.PHP会将其在内存中销毁. 这是PHP的GC(Garbage Collector)垃圾处理机制,防止内存溢出. 当一个PHP线程结束时,当前占用的所有内存空间都会被销毁,当前程序中的所有对象同样被销毁. __destruct() 析构函数 __destruct() 析构函数,是在垃圾对象被回收时执行. 析构函数也可以被显式调用,但不要这
-
php面向对象全攻略 (四)构造方法与析构方法
8.构造方法与析构方法 大多数类都有一种称为构造函数的特殊方法.当创建一个对象时,它将自动调用构造函 数,也就是使用new 这个关键字来实例化对象的时候自动调用构造方法. 构造函数的声明与其它操作的声明一样,只是其名称必须是__construct( ).这是PHP5 中 的变化,以前的版本中,构造函数的名称必须与类名相同,这种在PHP5 中仍然可以用,但 现在以经很少有人用了,这样做的好处是可以使构造函数独立于类名,当类名发生改变时不 需要改相应的构造函数名称了.为了向下兼容,如果一个类中没有名
-
PHP中构造函数和析构函数解析
构造函数 void __construct ([ mixed $args [, $... ]] ) PHP 5 允行开发者在一个类中定义一个方法作为构造函数.具有构造函数的类会在每次创建新对象时先调用此方法,所以非常适合在使用对象之前做一些初始化工作. Note: 如果子类中定义了构造函数则不会隐式调用其父类的构造函数.要执行父类的构造函数,需要在子类的构造函数中调用 parent::__construct().如果子类没有定义构造函数则会如同一个普通的类方法一样从父类继承(假如没有被定义为 p
-
php析构函数的简单使用说明
随着面向对象编程的普遍展开,面向对象展现了其中很多有趣的问题.相信很多初学者学习php面向对象时会接触两个函数,构造函数与析构函数.构造函数似乎用的更多,析构函数用的较少(相对初学者有限编程经验而言,笔者也是如此.)在功能上,构造函数在创建对象时调用,析构函数在对象销毁时调用,都无需特意去调用,一头一尾,倒也是前后照应. 析构函数常常处理的事务是一些资源释放的工作,比如前面有fopen(),这里调用fclose(),前面有imagecreatefromjepg(),这里调用imagedestor
-
php构造方法中析构方法在继承中的表现
本文为大家分享了php构造方法之析构方法在继承中的表现,供大家参考,具体内容如下 子类中没有定义构造方法时,会自动调用父类的构造方法.因此实例化子类时,需按照父类的构造方法的形式进行. 修改为: 子类定义了自己的构造方法,则不会自动调用父类的构造方法,但可以手动调用:parent::__construct(); 但通常,在子类,很多时候,在构造方法中,都应该(需要)去调用父类的构造方法以节省代码,增加可读性: 子类中没有定义析构方法时,会自动调用父类的析构方法.子类定义了自己的析构方法,则不会自
-
PHP类的声明与实例化及构造方法与析构方法详解
本文实例讲述了PHP类的声明与实例化及构造方法与析构方法.分享给大家供大家参考,具体如下: <?php class human{ public static $leg=2; public $name = 'leo'; public $age = '25'; public function cry(){ } } $leo = new human(); print_r($leo); /*返回 human Object ( [name] => leo [age] => 25 ) */ //为什
-
php初始化对象和析构函数的简单实例
复制代码 代码如下: <?php /********************************************** * __construct 对象初始化函数使用 * destruct 析构函数的使用 * $this 关键字的使用($this关键字是用来访问当前对象中的对象属性和对象 * 方法的系统变量) * **********************************************/ header("Con
随机推荐
- 把CSV文件导入到SQL Server表中的方法
- MX 2004 UIScrollBar组件教程
- js表单登陆验证示例
- 详解如何在Vue2中实现组件props双向绑定
- underscore之function_动力节点Java学院整理
- Bootstrap select下拉联动(jQuery cxselect)
- asp email邮箱地址验证正则表达式
- javascript如何使用bind指定接收者
- js 判断浏览器类型 去全角、半角空格 自动关闭当前窗口
- Android编程四大组件之Activity用法实例分析
- Python中的anydbm模版和shelve模版使用指南
- python错误:AttributeError: 'module' object has no attribute 'setdefaultencoding'问题的解决方法
- 用javascript编写asp应用--第一课--通览
- C#使用Shader实现夜幕降临倒计时的效果
- JAVA多线程与并发学习总结分析
- PHP+MySQL5.0中文乱码解决方法
- linux echo命令以及linux echo命令提示权限不够的解决办法
- js之onload事件的一点使用心得
- oracle ORA-01114、ORA-27067错误解决方法
- jQuery 重复加载错误以及修复方法