欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

深入理解php中构造函数和析构函数的作用

程序员文章站 2022-05-09 14:36:02
...
一说到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
?>

【相关教程推荐】

1. php编程从入门到精通全套视频教程

2. php从入门到精通

3. bootstrap教程