Hướng dẫn dùng angular destructor trong PHP

Các khóa học miễn phí qua video:
Lập trình C Java C# SQL Server PHP HTML5-CSS3-JavaScript

Constructor ¶

Cú pháp: void __construct [[ mixed $args = "" [, $... ]] ]

Từ phiên bản PHP 5  cho phép các nhà phát triển khai báo các hàm tạo cho lớp. Hàm tạo sẽ có nhiệm vụ khởi tạo giá trị cho các thuộc tính của đối tượng của lớp đó trước khi đối tượng được đem sử dụng.

Lưu ý: Các hàm tạo của lớp cha sẽ không được gọi ngầm định nếu lớp con có định nghĩa hàm tạo. Lúc này, nếu bạn muốn thực thực thi hàm tạo của lớp cha thì ở trong hàm tạo của lớp con ta sẽ thực hiện câu lệnh parent::__construct[].  Nếu lớp con không định nghĩa hàm tạo thì nó có thể được thừa kế hàm tạo từ lớp cha.

Ví dụ 1: Ví dụ về hàm tạo.

Không giống với phương thức thông thường, PHP sẽ không phát sinh lỗi khi hàm tạo __construct[] được ghi đè với sự khác nhau về tham số so với hàm tạo __construct của lớp cha.

Lưu ý là từ phiên bản PHP 5.3.3 thì những phương thức có tên trùng với tên của lớp nằm trong namespace sẽ không còn được coi là hàm tạo của lớp đó nữa. Đương nhiên là những lớp không nằm trong namespace sẽ không chịu ảnh hưởng bởi điều này.

Ví dụ 2: Hàm tạo của lớp nằm  trong namespace.

Đương nhiên là PHP cũng cho phép bạn tải chồng [overloading] hàm tạo.

Ví dụ 3: Tải chồng hàm tạo.

Hàm hủy [Destructor]

void __destruct [ void ]

Từ phiên bản PHP 5 trở đi cung cấp cho ta khái niệm về hàm hủy giống như những ngôn ngữ lập trình hướng đối tượng khác như Java, C#, C++. Hàm hủy sẽ được gọi đến nếu như một đối tượng nào đó không còn được tham chiếu đến nữa, hoặc chương trình đang trong quá trình tự tắt.

Ví dụ 3: Ví dụ về hàm tạo.

Cũng giống như hàm tạo, các hàm hủy ở lớp cha sẽ không được gọi ngầm định, để thực hiện thì tạo cần lời gọi tường minh là parent::__destruct[] trong thân của hàm hủy lơp con. Và cũng tương tự như hàm tạo thì lớp con có thể thừa kế hàm hủy của lớp cha nếu lớp con không khai báo hàm hủy nào.

Hàm hủy sẽ được gọi ngay cả khi chương trình đang được dừng thông qua lời gọi hàm exit[]. Nếu ta đặt lời gọi hàm exit[] trong một hàm hủy thì hàm exit[] sẽ không được thực thi.

Lưu ý:

Ta không thể ném một ngoại lệ từ hàm tạo, điều này sẽ phát sinh lỗi.

Các khóa học miễn phí qua video:
Lập trình C Java C# SQL Server PHP HTML5-CSS3-JavaScript
« Prev: PHP: private, protected và public
» Next: PHP: Hằng [Constant] của lớp

Copied !!!

Chủ Đề