• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

PHP构造方法__construct()

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
 

PHP 构造方法 __construct()

PHP 构造方法 __construct() 允许在实例化一个类之前先执行构造方法。

构造方法

构造方法是类中的一个特殊方法。当使用 new 操作符创建一个类的实例时,构造方法将会自动调用,其名称必须是 __construct() 。

在一个类中只能声明一个构造方法,而且只有在每次创建对象的时候都会去调用一次构造方法,不能主动的调用这个方法,所以通常用它执行一些有用的初始化任务。该方法无返回值。

语法:

function __construct(arg1,arg2,...)
{
    ......
}

例子:

<?php
class Person {
    var $name;
    var $age;

    //定义一个构造方法初始化赋值
    function __construct($name,  $age) {
        $this->name=$name;
        $this->age=$age;
    }

    function say() {
        echo "我的名字叫:".$this->name."<br />";
	echo "我的年龄是:".$this->age;
    }
}

$p1=new Person("张三", 20);
$p1->say();
?>

运行该例子,输出:

我的名字叫:张三
的年龄是:20

在该例子中,通过构造方法对对象属性进行初始化赋值。

提示

php 不会在本类的构造方法中再自动的调用父类的构造方法。要执行父类的构造方法,需要在子类的构造方法中调用 parent::__construct() 。

PHP 析构方法 __destruct()

PHP 析构方法 __destruct() 允许在销毁一个类之前执行执行析构方法。

析构方法

与构造方法对应的就是析构方法,析构方法允许在销毁一个类之前执行的一些操作或完成一些功能,比如说关闭文件、释放结果集等析构函数不能带有任何参数,其名称必须是 __destruct() 。

语法:

function __destruct()
{
    ......
}

我们在上面的例子中加入下面的析构方法:

//定义一个析构方法
function __destruct()
{
    echo "再见".$this->name;
}

再次运行该例子,输出:

我的名字叫:张三
我的年龄是:20
再见张三

提示

  1. 和构造方法一样,PHP 不会在本类中自动的调用父类的析构方法。要执行父类的析构方法,必须在子类的析构方法体中手动调用 parent::__destruct() 。
  2. 试图在析构函数中抛出一个异常会导致致命错误。
  3. 在 PHP4 版本中,构造方法的名称必须与类名相同,且没有析构方法。

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
解决php编译报错configure:error:mcrypt.hnotfound.Pleasereinstalllibmcrypt.发布时间:2022-07-10
下一篇:
PHP绘制3D图形发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap