php构造函数和析构函数到底干嘛用的

一说到php魔术方法,最先想到的就是构造和析构函数,那么,他们到底有什么神奇的地方,而被称为魔术方法,并被当做代表人物呢疑问

以前,我也只是知道一些理论知识,今天,就和大家一起分析一下它们到底有什么作用:

一. 构造函数:

 __construct( ): 有构造函数的类会在每次创建新对象时调用此函数,所以可以在此函数内做一些使用对象之前的初始化。

我最早接触到这个函数是在写登录的时候,会在公共控制器里创建一个构造函数,里面写验证登录session是否存在的逻辑代码,然后在每个控制器都继承这个公共控制器,会首先执行这个构造函数验证是否登录成功。(如果子类中定义了构造函数则不会暗中调用其父类的构造函数。要执行父类的构造函数,需要在子类的构造函数中调用 parent::__construct()。

二.析构函数:

__distruct( ): 1、PHP页面加载完成后,2、unset()类,3、变量指向别的对象或值时,4、exit()时被调用。

当PHP决定你的脚本不再与对象相关时,析构函数将被调用

<?php
    class Person{ //定义一个叫Person的类
    public  $name; //声明共有的属性:名字
    public function say(){ //声明共有的方法:说话
        echo 'saying';
    }       
    public function __construct(){ //固定的__construct声明构造函数
        echo 'construct'; //在对象创建时输出
    }
    public function __destruct(){
        echo 'destruct'; //对象销毁时输出
    }
}
    $a =new Person(); //输出construct
    //待代码结束后输出 destruct
?>


猜你喜欢

转载自blog.csdn.net/zhangzhangdan/article/details/80351353
今日推荐