Video: Hàm Trong php, Return giá trị trong function - Bài 9.1 2025
PHP cung cấp một phương pháp bạn có thể sử dụng để sao chép một đối tượng. Phương pháp là __clone, với hai dấu gạch dưới. Bạn có thể viết phương thức __clone của riêng bạn trong một lớp nếu bạn muốn chỉ định các câu lệnh để chạy khi đối tượng được sao chép. Nếu bạn không viết riêng của bạn, PHP sử dụng phương pháp __clone mặc định của nó sao chép tất cả các tài sản như là.
Như được hiển thị bởi hai dấu gạch dưới bắt đầu tên của nó, phương pháp nhân bản là một loại phương pháp khác nhau, và do đó được gọi là khác nhau, như được hiển thị trong ví dụ sau đây.
Bạn có thể viết class sau:
class Car {private $ gas = 0; private $ color = "red"; hàm addGas (số tiền $) {$ this-> gas = $ this-> gas + $ amount; echo "$ amount gallons added to gas tank";} function __clone () {$ this-> gas = 5;}}
Sử dụng lớp này, bạn có thể tạo một đối tượng và sao chép nó như sau:
$ firstCar = xe mới; $ firstCar-> addGas (10); $ secondCar = clone $ firstCar;
Sau những tuyên bố này, bạn có hai chiếc xe:
-
$ firstCar : Chiếc xe này màu đỏ và chứa 10 gallon xăng. Mười gallon được thêm vào bằng phương pháp addGas.
-
$ secondCar : Chiếc xe này màu đỏ, nhưng chứa 5 gallon xăng. Bản sao xe được tạo ra bằng cách sử dụng phương thức __clone trong lớp Xe. Phương pháp này đặt khí vào 5 và không đặt $ màu nào cả.
Nếu bạn không có phương thức __clone trong lớp Car, PHP sẽ sử dụng một phương thức __clone mặc định có thể sao chép tất cả các thuộc tính, làm cho $ secondCar cả màu đỏ và chứa mười gallon khí.