Làm cách nào để hủy một phiên bản trong PHP?
Nếu bạn tạo một hàm Show Lưu ý rằng hàm hủy bắt đầu bằng hai dấu gạch dưới (__) Ví dụ bên dưới có hàm __construct() được gọi tự động khi bạn tạo một đối tượng từ một lớp và hàm __desturation() được gọi tự động ở cuối tập lệnh Cho đến nay các đối tượng của chúng ta đã tự động bị hủy ở cuối tập lệnh mà chúng được tạo, nhờ vào bộ sưu tập rác tự động của PHP. Tuy nhiên, gần như chắc chắn bạn sẽ muốn tùy ý xóa các đối tượng vào một thời điểm nào đó và điều này được thực hiện bằng cách sử dụng unset() giống như cách bạn xóa một biến thông thường Gọi unset() trên một đối tượng sẽ gọi hàm hủy của nó trước khi xóa đối tượng, như bạn mong đợi Bạn muốn học PHP 7? Hacking with PHP đã được cập nhật đầy đủ cho PHP 7 và hiện có sẵn dưới dạng PDF có thể tải xuống. Nhận hơn 1200 trang học PHP thực hành ngay hôm nay Nếu điều này hữu ích, vui lòng dành chút thời gian để nói với những người khác về Hacking với PHP bằng cách tweet về nó Không có từ khóa hoặc chức năng xóa trong ngôn ngữ PHP. Nếu bạn đến trang này để xóa một tệp, hãy thử hủy liên kết(). Để xóa một biến khỏi phạm vi cục bộ, hãy xem unset() Không có ghi chú nào do người dùng đóng góp cho trang này 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, được miễn trừ thông thường khi được gia hạn 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 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 Làm thế nào để PHP loại bỏ các đối tượng không sử dụng?PHP có bộ thu gom rác đảm nhiệm việc xóa các đối tượng khỏi bộ nhớ sau khi chúng không còn được sử dụng nữa. . Nhưng có lẽ đôi khi sẽ hữu ích khi giải phóng bộ nhớ được phân bổ nếu nó lớn và tập lệnh sẽ mất thời gian để thực thi?. Lớn là lớn như thế nào? Làm cách nào để xóa khóa đối tượng trong PHP?Sử dụng hàm unset() . Hàm unset() dùng để xóa phần tử khỏi mảng. Hàm unset được sử dụng để hủy bất kỳ biến nào khác và sử dụng tương tự để xóa bất kỳ phần tử nào của một mảng. Lệnh bỏ đặt này lấy khóa mảng làm đầu vào và xóa phần tử đó khỏi mảng.
Làm cách nào để xác định đối tượng trong PHP?Xác định đối tượng
. Mỗi đối tượng có tất cả các thuộc tính và phương thức được định nghĩa trong lớp, nhưng chúng sẽ có các giá trị thuộc tính khác nhau. Các đối tượng của lớp được tạo bằng từ khóa new . |