首页 > 作文

PHP 构造函数和析构函数原理与用法分析

更新时间:2023-04-08 17:14:00 阅读: 评论:0

本文实例讲述了php 构造函数和析构函冰棍的做法数原理与用法。分享给大家供大家参考,具体如下细胞器的结构和功能图:

构造函数

__construct ([ mixed $args [, $… ]] ) : void

php 5 允行开发者在一个类中定义一个方法作为构造函数。具有构造函数的类会在每次创建新对象时先调用此方法,所以非常适合在使用对象之前做一些初始化工作。

note: 如果子类中定义了构造函数则不会隐式调用其父类的构造函数。要执行父类的构造函数,需要在子类的构造函数中调用 parent::__construct()。如果子类没有定义构造函数则会如同一个普通的类方法一样从父类继承(假如没有被定义为 private 的话)。

example #1 使用新标准的构造函数

<?phpclass baclass {  function __construct() {    print "in baclass constructor\n";  }}class subclass extends baclass {  function __construct() {    parent::__construct();    print "in subclass constructor\n";  }}class othersubclass extends baclass {  // inherits baclass's constructor}// in baclass constructor$obj = new baclass();// in性价比高笔记本电脑 baclass constructor// in subclass constructor$obj = new subclass();// in baclass constructor$obj = new othersubclass();?>

为了实现向后兼容性,如果 php 5 在类中找不到 __co青春的柠檬香2nstruct() 函数并且也没有从父类继承一个的话,它就会尝试寻找旧式的构造函数,也就是和类同名的函数。desk的复数因此唯一会产生兼容性问题的情况是:类中已有一个名为 __construct() 的方法却被用于其它用途时。

与其它方法不同,当 __construct() 被与父类 __construct() 具有不同参数的方法覆盖时,php 不会产生一个 e_strict错误信息。

自 php 5.3.3 起,在命名空间中,与类名同名的方法不再作为构造函数。这一改变不影响不在命名空间中的类。

example #2 constructors in namespaced class

<?phpnamespace foo;class bar {  public function bar() {    // treated as constructor in php 5.3.0-5.3.2    // treated as regular method as of php 5.3.3  }}

析构函数

__destruct ( void ) : void

php 5 引入了析构函数的概念,这类似于其它面向对象的语言,如 c++。析构函数会在到某个对象的所有引用都被删除或者当对象被显式销毁时执行。

example #3 析构函数示例

<?phpclass 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:

试图在析构函数(在脚本终止时被调用)中抛出一个异常会导致致命错误。

本文发布于:2023-04-08 17:13:58,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/7097aac362df58757a8362c0128b4da0.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:PHP 构造函数和析构函数原理与用法分析.doc

本文 PDF 下载地址:PHP 构造函数和析构函数原理与用法分析.pdf

下一篇:返回列表
标签:函数   子类   方法   定义
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图