Hướng dẫn what is use of constructor in php? - việc sử dụng hàm tạo trong php là gì?
PHP - Hàm __constructTrình xây dựng cho phép bạn khởi tạo các thuộc tính của một đối tượng khi tạo đối tượng. Show Nếu bạn tạo chức năng Lưu ý rằng hàm xây dựng bắt đầu với hai dấu gạch dưới (__)! Chúng ta thấy trong ví dụ dưới đây, rằng việc sử dụng hàm tạo sẽ cứu chúng ta khỏi gọi phương thức set_name () giúp giảm lượng mã: Thí dụclass Fruit { & nbsp; hàm __construct ($ name) {& nbsp; & nbsp; & nbsp; $ this-> name = $ name; & nbsp; } & nbsp; hàm get_name () {& nbsp; & nbsp; & nbsp; trả về $ this-> tên; & nbsp; }} $ apple = new Fruit ("Apple"); echo $ apple-> get_name ();?> Hãy tự mình thử » Một vi dụ khac: Thí dụclass Fruit { & nbsp; hàm __construct ($ name) {& nbsp; & nbsp; & nbsp; $ this-> name = $ name; & nbsp; } & nbsp; hàm get_name () {& nbsp; & nbsp; & nbsp; trả về $ this-> tên; & nbsp; }} $ apple = new Fruit ("Apple"); echo $ apple-> get_name ();?> Hãy tự mình thử » Người xây dựng__construct (hỗn hợp PHP cho phép các nhà phát triển khai báo các phương thức xây dựng cho các lớp. Các lớp có phương thức xây dựng gọi phương thức này trên mỗi đối tượng mới được tạo, do đó, nó phù hợp với bất kỳ khởi tạo nào mà đối tượng có thể cần trước khi nó được sử dụng.
Ví dụ số 1 người xây dựng trong kế thừa
SubClass extends BaseClass { Không giống như các phương thức khác, __construct () được miễn trừ khỏi các quy tắc tương thích chữ ký thông thường khi được mở rộng. Các hàm tạo là các phương pháp thông thường được gọi trong quá trình khởi tạo đối tượng tương ứng của chúng. Như vậy, chúng có thể xác định một số lượng đối số tùy ý, có thể được yêu cầu, có thể có một loại và có thể có giá trị mặc định. Các đối số của hàm tạo được gọi bằng cách đặt các đối số trong ngoặc đơn sau tên lớp. Ví dụ #2 sử dụng các đối số của hàm tạo
__construct(int $x, int $y = 0) { Nếu một lớp không có hàm tạo, hoặc hàm tạo không có đối số bắt buộc, dấu ngoặc đơn có thể bị bỏ qua. Nhà xây dựng kiểu cũ Trước Php 8.0.0, các lớp trong không gian tên toàn cầu sẽ diễn giải một phương pháp được đặt tên giống như lớp như một hàm tạo kiểu cũ. Cú pháp đó không được chấp nhận và sẽ dẫn đến lỗi Trong các lớp theo tên, hoặc bất kỳ lớp nào là của Php 8.0.0, một phương pháp có tên giống như lớp không bao giờ có bất kỳ ý nghĩa đặc biệt nào. Luôn luôn sử dụng __construct () trong mã mới. Mới trong khởi tạoKể từ Php 8.1.0, các đối tượng có thể được sử dụng làm giá trị tham số mặc định, các biến tĩnh và hằng số toàn cầu, cũng như trong các đối số thuộc tính. Các đối tượng cũng có thể được truyền để xác định () ngay bây giờ.define() now.
Ví dụ số 4 sử dụng mới trong bộ khởi tạo
...$values 1Phương pháp tạo tĩnhPHP chỉ hỗ trợ một hàm tạo đơn cho mỗi lớp. Tuy nhiên, trong một số trường hợp, có thể mong muốn cho phép một đối tượng được xây dựng theo những cách khác nhau với các đầu vào khác nhau. Cách được khuyến nghị để làm như vậy là bằng cách sử dụng các phương thức tĩnh làm trình bao gồm hàm tạo. Ví dụ #5 sử dụng các phương thức tạo tĩnh
...$values 4Chất xây dựng có thể được làm riêng hoặc được bảo vệ để ngăn chặn nó được gọi là bên ngoài. Nếu vậy, chỉ có một phương pháp tĩnh sẽ có thể khởi tạo lớp. Bởi vì chúng nằm trong cùng một định nghĩa lớp, họ có quyền truy cập vào các phương thức riêng tư, ngay cả khi không có cùng một thể hiện đối tượng. Hàm tạo riêng là tùy chọn và có thể hoặc không có ý nghĩa tùy thuộc vào trường hợp sử dụng. Ba phương pháp tĩnh công khai sau đó chứng minh các cách khác nhau để khởi tạo đối tượng.
Trong cả ba trường hợp, từ khóa Người phá hủy__destruct (): Void(): void PHP sở hữu một khái niệm phá hủy tương tự như các ngôn ngữ hướng đối tượng khác, chẳng hạn như C ++. Phương pháp phá hủy sẽ được gọi ngay khi không có tài liệu tham khảo nào khác đến một đối tượng cụ thể hoặc theo bất kỳ thứ tự nào trong chuỗi tắt. Ví dụ #6 Ví dụ về Destruction
class BaseClass { 2Giống như các nhà xây dựng, các hàm hủy của cha mẹ sẽ không được gọi là ngầm bởi động cơ. Để chạy một kẻ hủy diệt cha mẹ, người ta sẽ phải gọi rõ ràng cha mẹ :: __ sestruct () trong cơ thể phá hủy. Cũng giống như các nhà xây dựng, một lớp con có thể thừa hưởng chất hủy diệt của cha mẹ nếu nó không tự thực hiện một.parent::__destruct() in the destructor body. Also like constructors, a child class may inherit the parent's destructor if it does not implement one itself. Bộ hủy sẽ được gọi ngay cả khi việc thực thi tập lệnh được dừng bằng EXIT (). Gọi EXIT () trong một bộ hủy sẽ ngăn các thói quen tắt còn lại thực thi.exit(). Calling exit() in a destructor will prevent the remaining shutdown routines from executing.
Cố gắng ném một ngoại lệ từ một kẻ phá hủy (được gọi trong thời gian chấm dứt kịch bản) gây ra lỗi nghiêm trọng. ¶ David Dot Scourfield tại Llynfi Dot Co Dot Uk ¶
class BaseClass { 711 năm trước ¶ mmulej tại gmail dot com ¶
class 38 tháng trước ¶ Domger tại Freenet Dot de ¶
class 35 năm trước ¶ IWWP tại Outlook Dot Com ¶
class class class class class class class 32 năm trước ¶ lách ¶ class class class
class 314 năm trước ¶ prieler tại ABM Dot tại ¶
public function 015 năm trước ¶ Yousef Ismaeil cliprz [at] gmail [dot] com ¶
public function 39 năm trước ¶ Mỗi Persson ¶
public function 710 năm trước ¶ Jonathon Hibbard ¶
__construct(int $x, int $y = 0) { 112 năm trước ¶ lách ¶
14 năm trước ¶ lách ¶
class 314 năm trước ¶ prieler tại ABM Dot tại ¶
class 315 năm trước ¶ Yousef Ismaeil cliprz [at] gmail [dot] com ¶
// All allowed: 59 năm trước ¶ Mỗi Persson ¶
class 3Việc sử dụng hàm tạo là gì?Các hàm tạo, sử dụng một cách cụ thể một lớp để tạo các đối tượng và trả về một thể hiện mới của lớp, được các nhà máy trừu tượng hóa, cũng tạo ra các đối tượng nhưng có thể làm như vậy theo nhiều cách khác nhau, sử dụng nhiều lớp hoặc các sơ đồ phân bổ khác nhau như nhóm đối tượng.to create objects and return a new instance of the class, are abstracted by factories, which also create objects but can do so in various ways, using multiple classes or different allocation schemes such as an object pool.
Là hàm tạo có cần thiết trong PHP không?Hàm tạo là một phần thiết yếu của lập trình hướng đối tượng. Đó là một phương pháp của một lớp được gọi là tự động khi một đối tượng của lớp đó được khai báo. Mục đích chính của phương pháp này là khởi tạo đối tượng.. It is a method of a class that is called automatically when an object of that class is declared. The main purpose of this method is to initialize the object.
Việc sử dụng các hàm tạo và hàm hủy trong PHP là gì?Hàm tạo của một lớp xác định những gì xảy ra khi bạn khởi tạo một đối tượng từ lớp này. Chất phá hủy của một lớp xác định những gì xảy ra khi bạn phá hủy thể hiện đối tượng. The destructor of a class defines what happens when you destroy the object instance.
Việc sử dụng chất hủy diệt trong PHP là gì?Một kẻ phá hủy được gọi khi đối tượng bị phá hủy hoặc tập lệnh bị dừng hoặc thoát.Nếu bạn tạo hàm __destruct (), PHP sẽ tự động gọi hàm này ở cuối tập lệnh.Lưu ý rằng chức năng phá hủy bắt đầu với hai dấu gạch dưới (__)!when the object is destructed or the script is stopped or exited. If you create a __destruct() function, PHP will automatically call this function at the end of the script. Notice that the destruct function starts with two underscores (__)! |