Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> PHP

Ưu điểm của __construct() so với tên lớp làm constructor trong PHP

Có, dùng phương thức ma thuật __construct() thay vì tên lớp mang lại lợi ích:

  • Hỗ trợ nguyên tắc DRY: Đổi tên lớp không cần sửa constructor.
  • Gọi constructor cha dễ dàng: Trong lớp con, dùng parent::__construct().

Ví dụ

<?php
class MyClass {
    public function __construct() {
        echo 'Lớp "' . __CLASS__ . '" đã được khởi tạo!' . "\n";
    }
}
class ChildClass extends MyClass {
    public function __construct() {
        parent::__construct();
        echo "Trong constructor lớp con";
    }
}
$obj = new ChildClass();
?>

Kết quả

Lớp "MyClass" đã được khởi tạo!
Trong constructor lớp con

Lưu ý

  • __CLASS__ là hằng ma thuật trả về tên lớp hiện tại.
  • Constructor kiểu cũ (tên lớp) DEPRECATED từ PHP 7.0 và sẽ bị xóa. Luôn dùng __construct() cho code mới.