Phương thức __destruct
Hàm __destruct là một phương thức ma thuật trong PHP, được gọi tự động khi một đối tượng bị xóa khỏi bộ nhớ. Điều này xảy ra khi kịch bản kết thúc hoặc khi đối tượng bị hủy một cách rõ ràng. Phương thức hữu ích cho việc giải phóng tài nguyên (ví dụ: đóng các bộ mô tả tệp hoặc kết nối cơ sở dữ liệu).
Cú pháp
class MyClass {
public function __destruct() {
// mã của hàm hủy
}
}
Ví dụ
Một ví dụ đơn giản về lớp có hàm hủy, hiển thị thông báo khi đối tượng bị hủy:
<?php
class Test {
public function __destruct() {
echo 'Object destroyed';
}
}
$obj = new Test();
unset($obj); // Sẽ gọi hàm hủy
?>
Kết quả thực thi mã:
'Object destroyed'
Ví dụ
Ví dụ về việc giải phóng tài nguyên (đóng tệp):
<?php
class FileHandler {
private $file;
public function __construct($filename) {
$this->file = fopen($filename, 'r');
}
public function __destruct() {
if ($this->file) {
fclose($this->file);
echo 'File closed';
}
}
}
$handler = new FileHandler('example.txt');
// Làm việc với tệp...
unset($handler); // Sẽ tự động đóng tệp
?>
Kết quả thực thi mã:
'File closed'
Xem thêm
-
phương thức
__construct,
là hàm tạo của lớp