Xây dựng tại chỗ c ++
PHP cho phép các nhà phát triển khai báo các phương thức khởi tạo cho các lớp. Các lớp có phương thức khởi tạo gọi phương thức này trên mỗi đối tượng mới được tạo, vì vậy 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ụ #1 Constructor trong kế thừa
Không giống như các phương pháp khác, __construct() được miễn các quy tắc tương thích chữ ký thông thường khi được mở rộng Hàm tạo là các phương thức 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ể định nghĩa một số đối số tùy ý, có thể được yêu cầu, có thể có một loại và có thể có một 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 dấu ngoặc đơn sau tên lớp Ví dụ #2 Sử dụng đối số hàm tạo ________số 8
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, thì có thể bỏ qua dấu ngoặc đơn Các nhà xây dựng kiểu cũTrước PHP 8. 0. 0, các lớp trong không gian tên chung sẽ diễn giải một phương thức có tên giống như lớp dưới dạng một hàm tạo kiểu cũ. Cú pháp đó không được dùng nữa và sẽ dẫn đến lỗi Trong các lớp được đặt tên hoặc bất kỳ lớp nào kể từ PHP 8. 0. 0, một phương thức được đặt tên giống như lớp không bao giờ có bất kỳ ý nghĩa đặc biệt nào Luôn sử dụng __construct() trong mã mới Quảng cáo nhà xây dựngKể từ PHP 8. 0. 0, các tham số hàm tạo cũng có thể được thăng cấp để tương ứng với một thuộc tính đối tượng. Rất phổ biến đối với các tham số hàm tạo được gán cho một thuộc tính trong hàm tạo nhưng nếu không thì không được vận hành. Quảng cáo trình xây dựng cung cấp cách viết tắt cho trường hợp sử dụng đó. Ví dụ trên có thể viết lại như sau Ví dụ #3 Sử dụng khuyến mãi thuộc tính hàm tạo
Khi một đối số hàm tạo bao gồm một công cụ sửa đổi khả năng hiển thị, PHP sẽ hiểu nó là cả thuộc tính đối tượng và đối số hàm tạo và gán giá trị đối số cho thuộc tính. Phần thân của hàm tạo sau đó có thể trống hoặc có thể chứa các câu lệnh khác. Mọi câu lệnh bổ sung sẽ được thực hiện sau khi các giá trị đối số đã được gán cho các thuộc tính tương ứng Không phải tất cả các đối số cần phải được thúc đẩy. Có thể trộn và kết hợp các đối số được quảng cáo và không được quảng cáo, theo bất kỳ thứ tự nào. Các đối số được quảng cáo không ảnh hưởng đến mã gọi hàm tạo
Mới trong bộ 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, biến tĩnh và hằng số toàn cục, cũng như trong các đối số thuộc tính. Các đối tượng cũng có thể được chuyển đến định nghĩa () ngay bây giờ
Ví dụ #4 Sử dụng new trong trình khởi tạo
Phương pháp tạo tĩnhPHP chỉ hỗ trợ một hàm tạo duy nhất 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 đề xuất để làm như vậy là sử dụng các phương thức tĩnh làm trình bao bọc hàm tạo Ví dụ #5 Sử dụng các phương thức tạo tĩnh
Hàm tạo có thể được đặt ở chế độ riêng tư hoặc được bảo vệ để ngăn không cho nó được gọi từ bên ngoài. Nếu vậy, chỉ một phương thức tĩnh mới có thể khởi tạo lớp. Bởi vì chúng ở trong cùng một định nghĩa lớp nên chúng có quyền truy cập vào các phương thức riêng tư, ngay cả khi không thuộ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ể có hoặc không có ý nghĩa tùy thuộc vào trường hợp sử dụng Ba phương thức tĩnh công khai sau đó thể hiện các cách khác nhau để khởi tạo đối tượng
Trong cả ba trường hợp, từ khóa |