zoukankan      html  css  js  c++  java
  • PHP 构造方法 __construct()

     分类:

     

    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 版本中,构造方法的名称必须与类名相同,且没有析构方法。
  • 相关阅读:
    下载安装ngnix
    微信小程序富文本中的图片大小超出屏幕
    微信小程序跳转(当我们不知道是普通页面还是tabbar)
    查看每年用量最多技术框架
    vue.js--遇到的一些错误
    vue-router(配置子路由--单页面多路由区域操作)
    webpack配置文件--(loader)
    webpack配置(入口出口)
    数组排序
    2021年12种高级UX/UI设计趋势
  • 原文地址:https://www.cnblogs.com/zhq--blog/p/7047629.html
Copyright © 2011-2022 走看看