[Bài đọc] Vòng đời của một đối tượng

Lập trình Hướng Đối tượng

Một đối tượng trong PHP được sinh ra và mất đi (huỷ khỏi bộ nhớ). Quá trình sử dụng một đối tượng thường theo các giai đoạn sau:

1. Khởi tạo đối tượng

2. Sử dụng đối tượng (sử dụng các thuộc tính của đối tượng, gọi các phương thức của đối tượng)

3. Huỷ đối tượng (diễn ra khi đối tượng không còn được sử dụng)

Để can thiệp vào quá trình khởi tạo đối tượng, chúng ta sử dụng hàm __construct(). Để can thiệp vào quá trình huỷ đối tượng, chúng ta sử dụng hàm __destruct().

Chẳng hạn, chúng ta có một lớp MyClass được định nghĩa trong file “MyClass.php” như sau:

class MyClass{   

 function __construct(){     
     echo 'Calling constructor<br/>';   
 }   

 function some_method(){     
      echo 'Calling a method<br/>';  
 }  

 function __destruct()    {     
      echo 'Calling destructor<br/>';   
 }
}

Khi chúng ta sử dụng lớp này trong file “index.php” như sau:

<?php
require_once 'MyClass.php';
$myObject = new MyClass();
$myObject->some_method();

Thì kết quả nhận được là:

Calling constructor
Calling a method
Calling destructor

Có nghĩa là, trình tự thực hiện các lời gọi hàm sẽ là

1. __construct()

2. some_method()

3. __destruct()

Lợi dụng tính chất này, chúng ta thường sử dụng hàm __construct() để khởi tạo các giá trị cho đối tượng và sử dụng hàm __destruct() để giải phóng tài nguyên trước khi đối tượng bị huỷ (chẳng hạn là đóng một kết nối).

Leave a Reply

Your email address will not be published. Required fields are marked *