酆叔のBlog

  • 首页
  • 分享技术
  • 八卦黑料
  • 生活日常
  • 日记
酆叔のBlog
上辈子作恶多端,这辈子早起上班。
  1. 首页
  2. IT技术
  3. 正文

构造函数和析构函数

2024年4月28日 503点热度 0人点赞 0条评论

构造函数和析构函数

构造函数(Constructor)和析构函数(Destructor)是 PHP 类中的特殊方法,用于在对象创建和销毁时执行特定的操作。

构造函数(Constructor)

构造函数是一个在对象实例化时自动调用的方法。它通常用于执行对象的初始化操作,例如初始化对象的属性或执行必要的设置。

class MyClass {
    public $name;

    // 构造函数
    public function __construct($name) {
        echo "Constructor called.\n";
        $this->name = $name;
    }

    public function sayHello() {
        echo "Hello, " . $this->name . "!\n";
    }
}

$obj = new MyClass("Alice"); // 输出:Constructor called.
$obj->sayHello(); // 输出:Hello, Alice!

构造函数在 PHP 中的命名必须与类名相同,且不接受访问修饰符。在 PHP 7.0 之后,尽管可以在类中显式声明构造函数的访问修饰符(private、protected 或 public),但这些修饰符并不会影响构造函数的可见性。所以,无论是否显式声明构造函数的访问修饰符,它都将是公共的,即可在类的外部和内部调用。构造函数在对象实例化时始终会被调用,无法被私有化或受保护。

析构函数(Destructor)

析构函数是一个在对象被销毁时自动调用的方法。它通常用于执行一些清理操作,例如关闭数据库连接、释放资源等。

class MyClass {
    public $name;

    // 构造函数
    public function __construct($name) {
        echo "Constructor called.\n";
        $this->name = $name;
    }

    // 析构函数
    public function __destruct() {
        echo "Destructor called.\n";
    }

    public function sayHello() {
        echo "Hello, " . $this->name . "!\n";
    }
}

$obj = new MyClass("Alice"); // 输出:Constructor called.
$obj->sayHello(); // 输出:Hello, Alice!
unset($obj); // 手动销毁对象
// 输出:Destructor called.

析构函数的名称是 __destruct,在对象被销毁时自动调用。它不接受任何参数,也不能手动调用。

标签: 魔术方法
最后更新:2024年4月28日

酆叔

上辈子作恶多端,这辈子早起上班。

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

最新 热点 随机
最新 热点 随机
2025/05/15 周四 晴 2025/05/12 周一 晴 2025/05/08 周四 多云 2025/05/07 周三 阵雨 2025/05/06 周二 阵雨 2025/04/30 周三 多云
2025/04/27 周日 阴2025/04/28 周一 阵雨2025/04/29 周二 晴2025/04/30 周三 多云2025/05/06 周二 阵雨2025/05/07 周三 阵雨
认识PHP(二)函数 高质量网站分享 工厂模式 改变 学习Linux 2025/05/08 周四 多云
腾讯云
又拍云
订阅
订阅

COPYRIGHT © 2024 酆叔のBlog. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

豫ICP备2023016219号